Add WebCms

This commit is contained in:
2016-11-07 12:56:17 -05:00
parent dfe92218f4
commit 15911f33c0
2750 changed files with 365672 additions and 133 deletions
@@ -0,0 +1,32 @@
<div class="umb-editor">
<div class="umb-nested-boolean">
<label>
<input type="checkbox" ng-model="model.value.allowBulkPublish" id="allowBulkPublish"/>
<span>Allow bulk publish (content only)</span>
</label>
</div>
<div class="umb-nested-boolean">
<label>
<input type="checkbox" ng-model="model.value.allowBulkUnpublish" id="allowBulkUnpublish" />
<span>Allow bulk unpublish (content only)</span>
</label>
</div>
<div class="umb-nested-boolean">
<label>
<input type="checkbox" ng-model="model.value.allowBulkCopy" id="allowBulkCopy" />
<span>Allow bulk copy (content only)</span>
</label>
</div>
<div class="umb-nested-boolean">
<label>
<input type="checkbox" ng-model="model.value.allowBulkMove" id="allowBulkMove" />
<span>Allow bulk move</span>
</label>
</div>
<div class="umb-nested-boolean">
<label>
<input type="checkbox" ng-model="model.value.allowBulkDelete" id="allowBulkDelete" />
<span>Allow bulk delete</span>
</label>
</div>
</div>
@@ -0,0 +1,55 @@
<div class="umb-editor" ng-controller="Umbraco.PrevalueEditors.IncludePropertiesListViewController">
<div class="control-group">
<select ng-model="selectedField">
<option ng-repeat="field in systemFields" value="_system_{{field.value}}">{{field.name}}</option>
<option class="select-dash" disabled="disabled">----</option>
<option ng-repeat="alias in propertyAliases" value="{{alias}}">{{alias}}</option>
</select>
<button type="button" class="btn" ng-click="addField()">
<localize key="general_add">Add</localize>
</button>
</div>
<div class="control-group">
<table ng-show="model.value.length > 0" class="table">
<thead>
<tr>
<td style="width:20px;"></td>
<th style="width:220px;">Alias</th>
<th>Header</th>
<td style="width:100px;"></td>
</tr>
</thead>
<tbody ui-sortable="sortableOptions">
<tr ng-repeat="val in model.value">
<td>
<i class="icon icon-navigation handle"></i>
</td>
<td>
<span class="alias-value" ng-if="!val.isSystem">{{val.alias}}</span>
<span class="alias-value" ng-if="val.isSystem == 1">
{{val.alias}}
</span>
<em ng-show="val.isSystem == 1"><small>(system field)</small></em>
</td>
<td>
<ng-form name="headerForm" ng-if="!val.isSystem">
<input type="text" name="header" ng-model="val.header" required />
<span class="help-inline" val-msg-for="header" val-toggle-msg="required">Required</span>
</ng-form>
<span ng-if="val.isSystem">
<localize key="{{getLocalizedKey(val.alias)}}">{{val.alias}}</localize>
</span>
</td>
<td>
<button type="button" class="btn btn-danger" ng-click="removeField(val)">Remove</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
@@ -0,0 +1,57 @@
<div ng-controller="Umbraco.PrevalueEditors.ListViewLayoutsPreValsController as vm">
<div class="list-view-layouts" ui-sortable="vm.layoutsSortableOptions" ng-model="model.value">
<div class="list-view-layout" ng-repeat="layout in model.value">
<i class="icon-navigation list-view-layout__sort-handle"></i>
<div>
<a ng-if="layout.isSystem !== 1" href="" ng-click="vm.openIconPicker(layout)" class="list-view-layout__icon" umb-auto-focus>
<i class="{{ layout.icon }}"></i>
</a>
<div ng-if="layout.isSystem === 1" class="list-view-layout__icon">
<i class="{{ layout.icon }}"></i>
</div>
</div>
<div class="list-view-layout__name">
<input ng-if="layout.isSystem !== 1" type="text" ng-model="layout.name" placeholder="Name..." class="-full-width-input" focus-when="{{ vm.focusLayoutName }}" />
<span ng-if="layout.isSystem === 1" class="list-view-layout__name-text">{{ layout.name }}</span>
<span ng-if="layout.isSystem === 1" class="list-view-layout__system">(system layout)</span>
</div>
<div class="list-view-layout__path">
<input ng-if="layout.isSystem !== 1" type="text" ng-model="layout.path" placeholder="Layout path..." class="-full-width-input" />
</div>
<div>
<input ng-if="layout.isSystem === 1" type="checkbox" ng-model="layout.selected" />
<div class="list-view-layout__remove" ng-if="layout.isSystem !== 1">
<i class="icon-trash" ng-click="vm.showPrompt(layout)"></i>
<umb-confirm-action
ng-if="layout.deletePrompt"
direction="left"
on-confirm="vm.removeLayout($index, layout)"
on-cancel="vm.hidePrompt(layout)">
</umb-confirm-action>
</div>
</div>
</div>
<a href="" class="list-view-add-layout" ng-click="vm.addLayout()">Add layout</a>
</div>
<umb-overlay
ng-if="vm.iconPickerDialog.show"
model="vm.iconPickerDialog"
view="vm.iconPickerDialog.view"
position="right">
</umb-overlay>
</div>
@@ -0,0 +1,91 @@
<div ng-controller="Umbraco.PropertyEditors.ListView.GridLayoutController as vm">
<div
ng-if="entityType !== 'media'">
<umb-content-grid
ng-if="items"
content="items"
content-properties="options.includeProperties"
on-click="vm.selectContentItem"
on-click-name="vm.goToItem">
</umb-content-grid>
<umb-empty-state
ng-if="!items && options.filter.length === 0 && !vm.isRecycleBin"
position="center">
<div ng-if="entityType === 'content'">No content has been added</div>
<div ng-if="entityType === 'member'">No members have been added</div>
</umb-empty-state>
<umb-empty-state
ng-if="!items && options.filter.length > 0"
position="center">
<localize key="general_searchNoResult"></localize>
</umb-empty-state>
<umb-empty-state
ng-if="!items && options.filter.length == 0 && vm.isRecycleBin"
position="center">
<localize key="general_recycleBinEmpty"></localize>
</umb-empty-state>
</div>
<div
ng-if="entityType === 'media'"
on-drag-leave="vm.dragLeave()"
on-drag-end="vm.dragLeave()"
on-drag-enter="vm.dragEnter()">
<umb-file-dropzone
ng-if="!vm.isRecycleBin"
parent-id="{{vm.nodeId}}"
files-uploaded="vm.onUploadComplete"
accept="{{vm.acceptedFileTypes}}"
max-file-size="{{vm.maxFileSize}}"
hide-dropzone="{{ options.filter.length > 0 }}"
compact="{{ items.length > 0 }}"
files-queued="vm.onFilesQueue">
</umb-file-dropzone>
<umb-folder-grid
ng-if="folders.length > 0 && !vm.isRecycleBin"
folders="folders"
on-click="vm.selectFolder"
on-click-name="vm.goToItem">
</umb-folder-grid>
<umb-media-grid
items="vm.itemsWithoutFolders"
on-details-hover="vm.hoverMediaItemDetails"
on-click="vm.selectItem"
on-click-name="vm.goToItem">
</umb-media-grid>
<umb-tooltip
ng-if="vm.mediaDetailsTooltip.show"
event="vm.mediaDetailsTooltip.event">
<ul class="umb-tooltip-list">
<li class="umb-tooltip-list__item" ng-repeat="property in options.includeProperties">
<div class="umb-tooltip-list__item-label">{{ property.header }}</div>
<div class="umb-tooltip-list__item-value">{{ vm.mediaDetailsTooltip.item[property.alias] }}</div>
</li>
</ul>
</umb-tooltip>
<umb-empty-state
ng-if="vm.itemsWithoutFolders.length === 0 && options.filter.length == 0 && vm.isRecycleBin"
position="center">
<localize key="general_recycleBinEmpty"></localize>
</umb-empty-state>
<umb-empty-state
ng-if="vm.itemsWithoutFolders.length === 0 && options.filter.length > 0"
position="center">
<localize key="general_searchNoResult"></localize>
</umb-empty-state>
</div>
</div>
@@ -0,0 +1,73 @@
<div
ng-class="{'-content':(entityType === 'content')}"
ng-controller="Umbraco.PropertyEditors.ListView.ListLayoutController as vm">
<div
ng-if="entityType === 'media'"
on-drag-leave="vm.dragLeave()"
on-drag-end="vm.dragLeave()"
on-drag-enter="vm.dragEnter()">
<umb-file-dropzone
ng-if="!vm.isRecycleBin"
parent-id="{{vm.nodeId}}"
files-uploaded="vm.onUploadComplete"
accept="{{vm.acceptedFileTypes}}"
max-file-size="{{vm.maxFileSize}}"
hide-dropzone="{{options.filter.length > 0}}"
compact="{{ items.length > 0 }}"
files-queued="vm.onFilesQueue">
</umb-file-dropzone>
<umb-table
ng-if="items"
items="items"
allow-select-all="options.bulkActionsAllowed"
item-properties="options.includeProperties"
on-select="vm.selectItem"
on-click="vm.clickItem"
on-select-all="vm.selectAll"
on-selected-all="vm.isSelectedAll"
on-sorting-direction="vm.isSortDirection"
on-sort="vm.sort">
</umb-table>
</div>
<div ng-if="entityType !== 'media'">
<umb-table
ng-if="items"
items="items"
allow-select-all="options.bulkActionsAllowed"
item-properties="options.includeProperties"
on-select="vm.selectItem"
on-click="vm.clickItem"
on-select-all="vm.selectAll"
on-selected-all="vm.isSelectedAll"
on-sorting-direction="vm.isSortDirection"
on-sort="vm.sort">
</umb-table>
<umb-empty-state
ng-if="!items && options.filter.length === 0 && !vm.isRecycleBin"
position="center">
<div ng-if="entityType === 'content'">No content has been added</div>
<div ng-if="entityType === 'member'">No members have been added</div>
</umb-empty-state>
</div>
<umb-empty-state
ng-if="!items && options.filter.length > 0"
position="center">
<localize key="general_searchNoResult"></localize>
</umb-empty-state>
<umb-empty-state
ng-if="!items && options.filter.length == 0 && vm.isRecycleBin"
position="center">
<localize key="general_recycleBinEmpty"></localize>
</umb-empty-state>
</div>
@@ -0,0 +1,199 @@
<div class="umb-editor umb-listview" ng-controller="Umbraco.PropertyEditors.ListViewController" ng-switch="isNew">
<div class="row-fluid" ng-switch-when="true">
</div>
<div class="row-fluid" ng-switch-when="false">
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<umb-editor-sub-header-section ng-if="(listViewAllowedTypes && listViewAllowedTypes.length > 0 && !isAnythingSelected()) && currentNodePermissions.canCreate">
<div class="btn-group" ng-show="listViewAllowedTypes.length > 1">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<localize key="actions_create">Create</localize>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li ng-repeat="contentType in listViewAllowedTypes">
<a href="#/{{entityType}}/{{entityType}}/edit/{{contentId}}?doctype={{contentType.alias}}&create=true">
<i class="icon-{{contentType.cssClass}}"></i>
{{contentType.name}}
</a>
</li>
</ul>
</div>
<div class="btn-group" ng-show="listViewAllowedTypes.length === 1">
<a class="btn" href="#/{{entityType}}/{{entityType}}/edit/{{contentId}}?doctype={{listViewAllowedTypes[0].alias}}&create=true">
<i class="icon-{{listViewAllowedTypes[0].cssClass}}"></i>
<localize key="actions_create">Create</localize> {{ listViewAllowedTypes[0].name }}
</a>
</div>
</umb-editor-sub-header-section>
<umb-editor-sub-header-section ng-if="isAnythingSelected()">
<umb-button
type="button"
label="Clear selection"
label-key="buttons_clearSelection"
action="clearSelection()"
disabled="actionInProgress">
</umb-button>
</umb-editor-sub-header-section>
<umb-editor-sub-header-section ng-if="isAnythingSelected()">
<strong ng-show="!actionInProgress">{{ selectedItemsCount() }} <localize key="general_of">of</localize> {{ listViewResultSet.items.length }} <localize key="general_selected">selected</localize></strong>
<strong ng-show="actionInProgress" ng-bind="bulkStatus"></strong>
<div class="umb-loader-wrapper -bottom" ng-show="actionInProgress">
<div class="umb-loader"></div>
</div>
</umb-editor-sub-header-section>
</umb-editor-sub-header-content-left>
<umb-editor-sub-header-content-right>
<umb-editor-sub-header-section ng-if="!isAnythingSelected()">
<umb-layout-selector
ng-if="options.layout.layouts"
layouts="options.layout.layouts"
active-layout="options.layout.activeLayout"
on-layout-select="selectLayout">
</umb-layout-selector>
</umb-editor-sub-header-section>
<umb-editor-sub-header-section ng-if="!isAnythingSelected()">
<form class="form-search -no-margin-bottom pull-right" novalidate>
<div class="inner-addon left-addon">
<i class="icon icon-search" ng-click="enterSearch($event)"></i>
<input
class="form-control search-input"
type="text"
localize="placeholder"
placeholder="@general_typeToSearch"
ng-model="options.filter"
ng-change="enterSearch()"
ng-keydown="forceSearch($event)"
prevent-enter-submit
no-dirty-check>
</div>
</form>
</umb-editor-sub-header-section>
<umb-editor-sub-header-section ng-if="isAnythingSelected()">
<umb-button
ng-if="options.allowBulkPublish && (buttonPermissions == null || buttonPermissions.canPublish)"
type="button"
button-style="link"
label="Publish"
label-key="actions_publish"
icon="icon-globe"
action="publish()"
disabled="actionInProgress">
</umb-button>
<umb-button
ng-if="options.allowBulkUnpublish && (buttonPermissions == null || buttonPermissions.canUnpublish)"
type="button"
button-style="link"
label="Unpublish"
label-key="actions_unpublish"
icon="icon-block"
action="unpublish()"
disabled="actionInProgress">
</umb-button>
<umb-button
ng-if="options.allowBulkCopy && (buttonPermissions == null || buttonPermissions.canCopy)"
type="button"
button-style="link"
label="Copy"
label-key="actions_copy"
icon="icon-documents"
action="copy()"
disabled="actionInProgress">
</umb-button>
<umb-button
ng-if="options.allowBulkMove && (buttonPermissions == null || buttonPermissions.canMove)"
type="button"
button-style="link"
label="Move"
label-key="actions_move"
icon="icon-enter"
action="move()"
disabled="actionInProgress">
</umb-button>
<umb-button
ng-if="options.allowBulkDelete && (buttonPermissions == null || buttonPermissions.canDelete)"
type="button"
button-style="link"
label="Delete"
label-key="actions_delete"
icon="icon-trash"
action="delete()"
disabled="actionInProgress">
</umb-button>
</umb-editor-sub-header-section>
</umb-editor-sub-header-content-right>
</umb-editor-sub-header>
<umb-list-view-layout
ng-if="viewLoaded"
content-id="contentId"
folders="folders"
items="listViewResultSet.items"
selection="selection"
options="options"
entity-type="{{entityType}}"
on-get-content="reloadView">
</umb-list-view-layout>
<umb-load-indicator ng-show="!viewLoaded"></umb-load-indicator>
<div class="flex justify-center">
<umb-pagination
ng-if="listViewResultSet.totalPages"
page-number="options.pageNumber"
total-pages="listViewResultSet.totalPages"
on-next="next"
on-prev="prev"
on-go-to-page="goToPage">
</umb-pagination>
</div>
</div>
<umb-overlay
ng-if="moveDialog.show"
model="moveDialog"
position="right"
view="moveDialog.view">
</umb-overlay>
<umb-overlay
ng-if="copyDialog.show"
model="copyDialog"
position="right"
view="copyDialog.view">
</umb-overlay>
<umb-overlay
ng-if="ysodOverlay.show"
model="ysodOverlay"
position="right"
view="ysodOverlay.view">
</umb-overlay>
</div>
@@ -0,0 +1,12 @@
<div>
<label class="radio">
<input type="radio" name="orderDirection" value="asc" ng-model="model.value" />
Ascending <code>[a-z]</code>
</label>
<label class="radio">
<input type="radio" name="orderDirection" value="desc" ng-model="model.value" />
Descending <code>[z-a]</code>
</label>
<span class="help-inline" val-msg-for="orderDirection" val-toggle-msg="required">Required</span>
</div>
@@ -0,0 +1,4 @@
<select ng-model="model.value"
ng-controller="Umbraco.PrevalueEditors.SortByListViewController"
ng-options="field.value as field.name for field in sortByFields">
</select>