Umbraco 7.15.3
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
<div class="umb-editor umb-boolean" ng-controller="Umbraco.PropertyEditors.BooleanController">
|
||||
<umb-toggle
|
||||
checked="renderModel.value"
|
||||
on-click="toggle()">
|
||||
on-click="toggle()"
|
||||
show-labels="{{model.config.labelOn ? 'true': 'false'}}"
|
||||
label-position="right"
|
||||
label-on="{{model.config.labelOn}}"
|
||||
label-off="{{model.config.labelOn}}">
|
||||
</umb-toggle>
|
||||
</div>
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
<div class="umb-editor umb-checkboxlist" ng-controller="Umbraco.PropertyEditors.CheckboxListController">
|
||||
<div class="umb-editor umb-editor--list" ng-controller="Umbraco.PropertyEditors.CheckboxListController">
|
||||
|
||||
<ul class="unstyled">
|
||||
<li ng-repeat="item in selectedItems">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="checkboxlist"
|
||||
value="{{item.key}}"
|
||||
ng-model="item.checked" />
|
||||
{{item.val}}
|
||||
</label>
|
||||
<li ng-repeat="item in selectedItems" class="umb-editor__item">
|
||||
<umb-checkbox name="checkboxlist" value="{{item.key}}" model="item.checked" text="{{item.val}}" required="model.validation.mandatory && !model.value.length"></umb-checkbox>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
<div ng-controller="Umbraco.PropertyEditors.ColorPickerController">
|
||||
|
||||
<div ng-if="!isConfigured" >
|
||||
<localize key="colorpicker_noColors">You haven't defined any colors</localize>
|
||||
</div>
|
||||
|
||||
<ul class="thumbnails color-picker">
|
||||
<li ng-repeat="(key, val) in model.config.items" ng-class="{active: isActiveColor(val)}">
|
||||
<a ng-click="toggleItem(val)" class="thumbnail" hex-bg-color="{{val.value}}">
|
||||
<div class="check_circle">
|
||||
<i class="icon icon-check small"></i>
|
||||
</div>
|
||||
</a>
|
||||
<span class="color-label" ng-if="model.useLabel" ng-bind="val.label"></span>
|
||||
</li>
|
||||
</ul>
|
||||
<div ng-if="!isConfigured">
|
||||
<localize key="colorpicker_noColors">You haven't defined any colors</localize>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="modelValue" ng-model="model.value" val-property-validator="validateMandatory"/>
|
||||
<umb-color-swatches colors="model.config.items"
|
||||
selected-color="model.activeColor.value"
|
||||
size="m"
|
||||
use-label="model.useLabel"
|
||||
on-select="onSelect(color)">
|
||||
</umb-color-swatches>
|
||||
|
||||
<input type="hidden" name="modelValue" ng-model="model.value" val-property-validator="validateMandatory" />
|
||||
|
||||
</div>
|
||||
|
||||
@@ -3,18 +3,22 @@
|
||||
<div class="umb-prevalues-multivalues__left">
|
||||
<input name="newColor" type="hidden" />
|
||||
<label for="newColor" val-highlight="{{hasError}}">#{{newColor}}</label>
|
||||
<input name="newLabel" type="text" ng-model="newLabel" class="umb-editor color-label" placeholder="Label" ng-show="labelEnabled" />
|
||||
<input name="newLabel" type="text" ng-model="newLabel" focus-when="{{focusOnNew}}" class="umb-editor color-label" placeholder="Label" ng-show="labelEnabled" />
|
||||
</div>
|
||||
<div class="umb-prevalues-multivalues__right">
|
||||
<button class="btn btn-info add" ng-click="add($event)"><localize key="general_add">Add</localize></button>
|
||||
</div>
|
||||
</div>
|
||||
<div ui-sortable="sortableOptions" ng-model="model.value">
|
||||
<div class="control-group umb-prevalues-multivalues__listitem color-picker-preval" ng-repeat="item in model.value">
|
||||
<div class="control-group umb-prevalues-multivalues__listitem color-picker-preval" ng-repeat="item in model.value track by $id(item)">
|
||||
<i class="icon icon-navigation handle"></i>
|
||||
<div class="umb-prevalues-multivalues__left">
|
||||
<div class="thumbnail span1" hex-bg-color="{{item.value}}" bg-orig="transparent"></div>
|
||||
<div class="color-picker-prediv"><pre>#{{item.value}}</pre><span>{{item.label}}</span></div>
|
||||
<div class="thumbnail span1" hex-bg-color="{{item.value}}" hex-bg-orig="transparent"></div>
|
||||
<div class="color-picker-prediv">
|
||||
<pre>#{{item.value}}</pre>
|
||||
<span ng-bind="item.label" ng-if="!labelEnabled"></span>
|
||||
<input type="text" ng-if="labelEnabled" ng-model="item.label" val-server="item_{{$index}}" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="umb-prevalues-multivalues__right">
|
||||
<a class="umb-node-preview__action umb-node-preview__action--red" ng-click="remove(item, $event)"><localize key="general_remove">Remove</localize></a>
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
ng-switch-default
|
||||
ng-change="updateSingleDropdownValue()"
|
||||
ng-model="model.singleDropdownValue"
|
||||
ng-options="item.id as item.value for item in model.config.items">
|
||||
ng-options="item.id as item.value for item in model.config.items"
|
||||
ng-required="model.validation.mandatory">
|
||||
<option></option>
|
||||
</select>
|
||||
|
||||
@@ -15,5 +16,6 @@
|
||||
ng-switch-when="1"
|
||||
multiple
|
||||
ng-model="model.value"
|
||||
ng-options="item.id as item.value for item in model.config.items"></select>
|
||||
ng-options="item.id as item.value for item in model.config.items"
|
||||
ng-required="model.validation.mandatory"></select>
|
||||
</div>
|
||||
|
||||
@@ -61,8 +61,7 @@
|
||||
<input type="checkbox"
|
||||
ng-model="currentSection.allowAll"
|
||||
style="float: left; margin-right: 10px;"
|
||||
ng-checked="currentSection.allowed === undefined"
|
||||
ng-change="toggleCollection(currentSection.allowed, currentSection.allowAll)" />
|
||||
ng-change="toggleAllowed(currentSection)" />
|
||||
<localize key="grid_allowAllRowConfigurations"/>
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -72,8 +72,7 @@
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
ng-model="currentCell.allowAll"
|
||||
ng-checked="currentCell.allowed === undefined"
|
||||
ng-change="toggleCollection(currentCell.allowed, currentCell.allowAll)" />
|
||||
ng-change="toggleAllowed(currentCell)" />
|
||||
<localize key="grid_allowAllEditors"/>
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="umb-editor umb-readonlyvalue umb-idwithguidvalue" ng-controller="Umbraco.PropertyEditors.IdWithGuidValueController">
|
||||
<div>{{ displayid }}</div>
|
||||
<small>{{ displayguid }}</small>
|
||||
</div>
|
||||
@@ -1,7 +1,6 @@
|
||||
<div class="umb-editor umb-mediapicker"
|
||||
ng-controller="Umbraco.PropertyEditors.ImageCropperController">
|
||||
|
||||
|
||||
<span class="fileinput-button umb-upload-button-big"
|
||||
style="margin-bottom: 5px;"
|
||||
ng-hide="imageSrc">
|
||||
@@ -19,8 +18,6 @@
|
||||
<div ng-if="currentCrop" style="float:left; max-width: 100%;" class="clearfix">
|
||||
<div class="umb-cropper__container">
|
||||
|
||||
<i ng-click="done()" class="icon icon-delete btn-round umb-close-cropper"></i>
|
||||
|
||||
<div>
|
||||
<umb-image-crop height="{{currentCrop.height}}"
|
||||
width="{{currentCrop.width}}"
|
||||
@@ -31,10 +28,11 @@
|
||||
</umb-image-crop>
|
||||
</div>
|
||||
|
||||
<a href style="margin:auto; text-align: center; font-size: 11px;" class="btn btn-link red"
|
||||
ng-click="currentCrop.coordinates = undefined; done()">
|
||||
<localize key="imagecropper_reset">Reset</localize>
|
||||
</a>
|
||||
<div class="button-drawer">
|
||||
<button class="btn btn-link" ng-click="reset()"><localize key="imagecropper_reset">Reset this crop</localize></button>
|
||||
<button class="btn" ng-click="close()"><localize key="imagecropper_undoEditCrop">Undo edits</localize></button>
|
||||
<button class="btn btn-success" ng-click="done()"><localize key="imagecropper_updateEditCrop">Done</localize></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -42,12 +40,13 @@
|
||||
<umb-image-gravity
|
||||
src="imageSrc"
|
||||
center="model.value.focalPoint"
|
||||
on-image-loaded="imageLoaded">
|
||||
on-image-loaded="imageLoaded(isCroppable, hasDimensions)"
|
||||
on-gravity-changed="focalPointChanged()">
|
||||
</umb-image-gravity>
|
||||
<a href class="btn btn-link btn-crop-delete" ng-click="clear()"><i class="icon-delete red"></i> <localize key="content_uploadClear">Remove file</localize></a>
|
||||
</div>
|
||||
|
||||
<ul class="umb-sortable-thumbnails cropList clearfix">
|
||||
<ul ng-if="isCroppable" class="umb-sortable-thumbnails cropList clearfix">
|
||||
<li ng-repeat=" (key,value) in model.value.crops" ng-class="{'current':currentCrop.alias === value.alias}" ng-click="crop(value)">
|
||||
|
||||
<umb-image-thumbnail center="model.value.focalPoint"
|
||||
|
||||
@@ -1,49 +1,74 @@
|
||||
<div ng-controller="Umbraco.PrevalueEditors.CropSizesController" class="umb-editor umb-cropsizes">
|
||||
<div ng-controller="Umbraco.PrevalueEditors.CropSizesController" class="umb-editor umb-prevalues-multivalues umb-cropsizes">
|
||||
|
||||
<div class="control-group umb-cropsizes__add">
|
||||
|
||||
<div class="control-group" ng-if="model.value.length > 0">
|
||||
<ul class="unstyled list-icons"
|
||||
ui-sortable
|
||||
ng-model="model.value">
|
||||
<li ng-repeat="node in model.value">
|
||||
<a href=""><i class="icon icon-delete red hover-show pull-right" ng-click="remove(node, $event)"></i></a>
|
||||
<i class="icon icon-picture handle hover-hide"></i>
|
||||
<div class="umb-cropsizes__input-wrap">
|
||||
<label for="addcropalias"><localize key="general_alias">Alias</localize></label>
|
||||
<input
|
||||
id="addcropalias"
|
||||
name="newItem.alias"
|
||||
type="text"
|
||||
ng-model="newItem.alias"
|
||||
class="umb-cropsizes__input"
|
||||
val-highlight="{{hasError}}"
|
||||
localize="placeholder"
|
||||
placeholder="@general_alias"
|
||||
focus-when="{{setFocus}}"
|
||||
ng-change="change()"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="umb-cropsizes__input-wrap umb-cropsizes__input-wrap--narrow">
|
||||
<label for="addcropwidth"><localize key="general_width">Width</localize></label>
|
||||
<input
|
||||
name="newItem.width"
|
||||
type="number"
|
||||
localize="placeholder"
|
||||
placeholder="@general_width"
|
||||
ng-model="newItem.width"
|
||||
class="umb-cropsizes__input"
|
||||
val-highlight="{{hasError}}"
|
||||
id="addcropwidth"
|
||||
min="0"
|
||||
pattern="[0-9]*"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="umb-cropsizes__input-wrap umb-cropsizes__input-wrap--narrow">
|
||||
<label for="addcropheight"><localize key="general_height">Height</localize></label>
|
||||
<input
|
||||
name="newItem.height"
|
||||
type="number"
|
||||
localize="placeholder"
|
||||
placeholder="@general_height"
|
||||
ng-model="newItem.height"
|
||||
class="umb-cropsizes__input"
|
||||
val-highlight="{{hasError}}"
|
||||
id="addcropheight"
|
||||
min="0"
|
||||
pattern="[0-9]*"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="umb-cropsizes__controls">
|
||||
<button class="btn btn-info add" ng-hide="editMode" ng-click="add($event)"><localize key="general_add">Add</localize></button>
|
||||
<button class="btn btn-info add" ng-show="editMode" ng-click="add($event)"><localize key="general_update">Update</localize></button>
|
||||
<a href class="btn btn-link" ng-show="editMode" ng-click="cancel($event)"><localize key="general_cancel">Cancel</localize></a>
|
||||
</div>
|
||||
|
||||
<a href prevent-default ng-click="edit(node, $event)">{{node.alias}}</a>
|
||||
<br /><small>{{node.width}}px × {{node.height}}px</small>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="form" ng-show="newItem">
|
||||
<h4><localize key="imagecropper_defineCrop">Define crop</localize></h4>
|
||||
<p>
|
||||
<localize key="imagecropper_defineCropDescription">Give the crop an alias and it's default width and height</localize>.
|
||||
</p>
|
||||
|
||||
<div class="control-group">
|
||||
<label><localize key="general_alias">Alias</localize></label>
|
||||
<input name="newItem.alias" type="text"
|
||||
ng-model="newItem.alias" val-highlight="{{hasError}}" />
|
||||
<div ui-sortable="sortableOptions" class="umb-cropsizes__sortable" ng-model="model.value">
|
||||
<div class="control-group umb-prevalues-multivalues__listitem" ng-repeat="item in model.value">
|
||||
<i class="icon icon-navigation handle"></i>
|
||||
<div class="umb-prevalues-multivalues__left">
|
||||
<p><span>{{item.alias}}</span> <small>({{item.width}}px × {{item.height}}px)</small></p>
|
||||
</div>
|
||||
<div class="umb-prevalues-multivalues__right">
|
||||
<a href="#" prevent-default class="umb-node-preview__action umb-node-preview__action--red" ng-click="edit(item, $event)" class="umb-prevalues-multivalues__action">Edit</a>
|
||||
<a class="umb-node-preview__action umb-node-preview__action--red" ng-click="remove(item, $event)"><localize key="general_remove">Remove</localize></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label><localize key="general_size">Size</localize></label>
|
||||
<input name="newItem.width" type="number" localize="placeholder" placeholder="@general_width"
|
||||
ng-model="newItem.width" class="umb-editor-small" val-highlight="{{hasError}}" />
|
||||
×
|
||||
<input name="newItem.height" type="number" localize="placeholder" placeholder="@general_height"
|
||||
ng-model="newItem.height" class="umb-editor-small" val-highlight="{{hasError}}" />
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<button class="btn" ng-click="add($event)"><localize key="imagecropper_saveCrop">Save crop</localize></button>
|
||||
<a href class="btn btn-link" ng-click="cancel($event)"><localize key="general_cancel">Cancel</localize></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group" ng-hide="newItem">
|
||||
<button class="btn" ng-click="newItem = {}" prevent-default><localize key="imagecropper_addCrop">Add new crop</localize></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</umb-empty-state>
|
||||
|
||||
<umb-empty-state
|
||||
ng-if="vm.itemsWithoutFolders.length === 0 && options.filter.length > 0"
|
||||
ng-if="vm.itemsWithoutFolders.length === 0 && folders.length === 0 && options.filter.length > 0"
|
||||
position="center">
|
||||
<localize key="general_searchNoResult"></localize>
|
||||
</umb-empty-state>
|
||||
|
||||
@@ -11,35 +11,85 @@
|
||||
<umb-editor-sub-header-content-left>
|
||||
|
||||
<umb-editor-sub-header-section ng-if="(listViewAllowedTypes && listViewAllowedTypes.length > 0 && !isAnythingSelected()) && (currentNodePermissions == null || currentNodePermissions.canCreate)">
|
||||
<div class="btn-group" ng-show="listViewAllowedTypes.length > 1">
|
||||
|
||||
<div class="btn-group" ng-show="createAllowedButtonSingle">
|
||||
<a class="btn" ng-click="createBlank(entityType,listViewAllowedTypes[0].alias)">
|
||||
<localize key="actions_create">Create</localize> {{listViewAllowedTypes[0].name}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="btn-group" ng-show="createAllowedButtonSingleWithBlueprints">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<span ng-click="createBlank(entityType,listViewAllowedTypes[0].alias)">
|
||||
<localize key="actions_create">Create</localize> {{listViewAllowedTypes[0].name}}
|
||||
</span>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
<li ng-repeat="(key, value) in listViewAllowedTypes[0].blueprints track by $index">
|
||||
<a ng-click="createFromBlueprint(entityType, listViewAllowedTypes[0].blueprints.alias, key)">
|
||||
<i class="{{listViewAllowedTypes[0].icon}}"></i>
|
||||
{{value}}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group" ng-show="createAllowedButtonMultiWithBlueprints">
|
||||
<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 | orderBy:'name':false">
|
||||
<a href="#/{{entityType}}/{{entityType}}/edit/{{contentId}}?doctype={{contentType.alias}}&create=true">
|
||||
<i class="icon-{{contentType.cssClass}}"></i>
|
||||
{{contentType.name}}
|
||||
<a href="" ng-click="createBlank(entityType,contentType.alias)" prevent-default>
|
||||
<i class="{{contentType.icon}}"></i>
|
||||
{{contentType.name}} <span ng-show="contentType.blueprints" style="text-transform: lowercase;">(<localize key="blueprints_blankBlueprint">blank</localize>)</span>
|
||||
</a>
|
||||
<a href="" ng-repeat="(key, value) in contentType.blueprints" ng-click="createFromBlueprint(entityType,contentType.alias , key)" prevent-default>
|
||||
<i class="{{contentType.icon}}"></i>
|
||||
{{value}}
|
||||
</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>
|
||||
|
||||
<ul class="umb-actions umb-actions-child">
|
||||
|
||||
<li ng-repeat="(key, value) in docType.blueprints | orderBy:'name':false">
|
||||
<a ng-click="createFromBlueprint(key)">
|
||||
<i class="large {{docType.icon}}"></i>
|
||||
<span class="menu-label">
|
||||
{{value}}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="sep" ng-show="allowBlank">
|
||||
<a ng-click="createBlank(docType)">
|
||||
<i class="large {{docType.icon}}"></i>
|
||||
<span class="menu-label">
|
||||
<localize key="blueprints_blankBlueprint">Blank</localize>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</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 type="button"
|
||||
label="Clear selection"
|
||||
label-key="buttons_clearSelection"
|
||||
action="clearSelection()"
|
||||
disabled="actionInProgress">
|
||||
</umb-button>
|
||||
</umb-editor-sub-header-section>
|
||||
|
||||
|
||||
@@ -1,28 +1,42 @@
|
||||
<div class="umb-editor umb-mediapicker" ng-controller="Umbraco.PropertyEditors.MediaPickerController">
|
||||
|
||||
<p ng-if="(images|filter:{trashed:true}).length == 1"><localize key="mediaPicker_pickedTrashedItem"></localize></p>
|
||||
<p ng-if="(images|filter:{trashed:true}).length > 1"><localize key="mediaPicker_pickedTrashedItems"></localize></p>
|
||||
|
||||
<div data-element="sortable-thumbnails" class="flex flex-wrap error">
|
||||
<ul ui-sortable="sortableOptions" ng-model="images" class="umb-sortable-thumbnails">
|
||||
<li data-element="sortable-thumbnail-{{$index}}" class="umb-sortable-thumbnails__wrapper" ng-repeat="image in images track by $index">
|
||||
<p ng-if="(mediaItems|filter:{trashed:true}).length == 1"><localize key="mediaPicker_pickedTrashedItem"></localize></p>
|
||||
<p ng-if="(mediaItems|filter:{trashed:true}).length > 1"><localize key="mediaPicker_pickedTrashedItems"></localize></p>
|
||||
|
||||
<div data-element="sortable-thumbnails" class="flex flex-wrap error">
|
||||
<ul ui-sortable="sortableOptions" ng-model="mediaItems" class="umb-sortable-thumbnails">
|
||||
<li data-element="sortable-thumbnail-{{$index}}" class="umb-sortable-thumbnails__wrapper" ng-repeat="media in mediaItems track by $index">
|
||||
|
||||
<p class="label label__trashed" ng-if="media.trashed">
|
||||
<localize key="mediaPicker_trashed"></localize>
|
||||
<i class="icon-trash" aria-hidden="true"></i>
|
||||
</p>
|
||||
|
||||
<span class="label trashed" ng-if="image.trashed"><localize key="mediaPicker_trashed"></localize></span>
|
||||
<!-- IMAGE -->
|
||||
<img ng-class="{'trashed': image.trashed}" ng-src="{{image.thumbnail}}" alt="" ng-show="image.thumbnail" title="{{image.trashed ? 'Trashed: ' + image.name : image.name}}" />
|
||||
<img ng-if="media.thumbnail"
|
||||
ng-class="{'trashed': media.trashed}" ng-src="{{media.thumbnail}}"
|
||||
alt="" title="{{media.trashed ? 'Trashed: ' + media.name : media.name}}" />
|
||||
|
||||
<!-- SVG -->
|
||||
<img ng-class="{'trashed': image.trashed}" ng-if="image.metaData.umbracoExtension.Value === 'svg'" ng-src="{{image.metaData.umbracoFile.Value}}" alt="" title="{{image.trashed ? 'Trashed: ' + image.name : image.name}}" />
|
||||
<img ng-class="{'trashed': image.trashed}" ng-if="image.extension === 'svg'" ng-src="{{image.file}}" alt="" />
|
||||
<img ng-if="!media.thumbnail && media.metaData.umbracoExtension.Value === 'svg'"
|
||||
ng-class="{'trashed': media.trashed}" ng-src="{{media.metaData.umbracoFile.Value}}"
|
||||
alt="" title="{{media.trashed ? 'Trashed: ' + media.name : media.name}}" />
|
||||
<img ng-if="!media.thumbnail && media.metaData.umbracoExtension.Value !== 'svg' && media.extension === 'svg'"
|
||||
ng-class="{'trashed': media.trashed}" ng-src="{{media.file}}"
|
||||
alt=""
|
||||
title="{{media.trashed ? 'Trashed: ' + media.name : media.name}}" />
|
||||
|
||||
<!-- FILE -->
|
||||
<span class="umb-icon-holder" ng-hide="image.thumbnail || image.metaData.umbracoExtension.Value === 'svg' || image.extension === 'svg'">
|
||||
<i class="icon {{image.icon}} large"></i>
|
||||
<small>{{image.name}}</small>
|
||||
</span>
|
||||
<div ng-class="{'trashed': media.trashed}" class="umb-icon-holder" ng-hide="media.thumbnail || media.metaData.umbracoExtension.Value === 'svg' || media.extension === 'svg'">
|
||||
<span class="file-icon">
|
||||
<i class="icon {{media.icon}} large"></i>
|
||||
<span>.{{media.metaData.umbracoExtension.Value}}</span>
|
||||
</span>
|
||||
<small>{{media.name}}</small>
|
||||
</div>
|
||||
|
||||
<div class="umb-sortable-thumbnails__actions" data-element="sortable-thumbnail-actions">
|
||||
<a class="umb-sortable-thumbnails__action" data-element="action-edit" href="" ng-click="goToItem(image)">
|
||||
<a class="umb-sortable-thumbnails__action" data-element="action-edit" href="" ng-click="goToItem(media)">
|
||||
<i class="icon icon-edit"></i>
|
||||
</a>
|
||||
<a class="umb-sortable-thumbnails__action -red" data-element="action-remove" href="" ng-click="remove($index)">
|
||||
@@ -31,7 +45,7 @@
|
||||
</div>
|
||||
</li>
|
||||
<li style="border: none;" class="add-wrapper unsortable" ng-if="showAdd()">
|
||||
<a data-element="sortable-thumbnails-add" href="#" class="add-link" ng-click="add()" ng-class="{'add-link-square': (images.length === 0 || isMultiPicker)}" prevent-default>
|
||||
<a data-element="sortable-thumbnails-add" href="#" class="add-link" ng-click="add()" ng-class="{'add-link-square': (mediaItems.length === 0 || isMultiPicker)}" prevent-default>
|
||||
<i class="icon icon-add large"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -5,11 +5,20 @@
|
||||
<input type="text" name="item_{{$index}}" ng-model="item.value" class="umb-editor umb-textstring textstring"
|
||||
ng-keyup="addRemoveOnKeyDown($event, $index)" focus-when="{{item.hasFocus}}"/>
|
||||
<i class="icon icon-navigation handle" localize="title" title="@general_move"></i>
|
||||
<a prevent-default href="" class="remove" localize="title" title="@content_removeTextBox"
|
||||
ng-show="model.value.length > model.config.min"
|
||||
ng-click="remove($index)">
|
||||
<i class="icon icon-remove"></i>
|
||||
</a>
|
||||
|
||||
<div class="umb-multiple-textbox__confirm" ng-show="model.value.length > model.config.min">
|
||||
<button class="umb-multiple-textbox__confirm-action" type="button" prevet-default ng-click="showPrompt($index, item)" localize="title" title="@content_removeTextBox">
|
||||
<i class="icon-trash"></i>
|
||||
</button>
|
||||
|
||||
<umb-confirm-action
|
||||
ng-if="promptIsVisible === $index"
|
||||
direction="left"
|
||||
on-confirm="remove($index)"
|
||||
on-cancel="hidePrompt()">
|
||||
</umb-confirm-action>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a prevent-default href="" class="add-link" localize="title" title="@content_addTextBox"
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
<div ng-controller="Umbraco.PropertyEditors.MultiUrlPickerController" class="umb-editor umb-contentpicker">
|
||||
<p ng-if="(renderModel|filter:{trashed:true}).length == 1"><localize key="contentPicker_pickedTrashedItem"></localize></p>
|
||||
<p ng-if="(renderModel|filter:{trashed:true}).length > 1"><localize key="contentPicker_pickedTrashedItems"></localize></p>
|
||||
|
||||
<ng-form name="multiUrlPickerForm">
|
||||
<div ui-sortable="sortableOptions" ng-model="renderModel">
|
||||
<umb-node-preview
|
||||
ng-repeat="link in renderModel"
|
||||
icon="link.icon"
|
||||
name="link.name"
|
||||
published="link.published"
|
||||
description="link.url + (link.queryString ? link.queryString : '')"
|
||||
sortable="!sortableOptions.disabled"
|
||||
allow-remove="true"
|
||||
allow-edit="true"
|
||||
on-remove="remove($index)"
|
||||
on-edit="openLinkPicker(link, $index)">
|
||||
</umb-node-preview>
|
||||
</div>
|
||||
|
||||
<a ng-show="!model.config.maxNumber || renderModel.length < model.config.maxNumber"
|
||||
class="umb-node-preview-add"
|
||||
href
|
||||
ng-click="openLinkPicker()"
|
||||
prevent-default>
|
||||
<localize key="general_add">Add</localize>
|
||||
</a>
|
||||
|
||||
<div class="umb-contentpicker__min-max-help">
|
||||
|
||||
<!-- Both min and max items -->
|
||||
<span ng-if="model.config.minNumber && model.config.maxNumber && model.config.minNumber !== model.config.maxNumber">
|
||||
<span ng-if="renderModel.length < model.config.maxNumber">Add between {{model.config.minNumber}} and {{model.config.maxNumber}} items</span>
|
||||
<span ng-if="renderModel.length > model.config.maxNumber">
|
||||
<localize key="validation_maxCount">You can only have</localize> {{model.config.maxNumber}} <localize key="validation_itemsSelected"> items selected</localize>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<!-- Equal min and max -->
|
||||
<span ng-if="model.config.minNumber && model.config.maxNumber && model.config.minNumber === model.config.maxNumber">
|
||||
<span ng-if="renderModel.length < model.config.maxNumber">Add {{model.config.minNumber - renderModel.length}} item(s)</span>
|
||||
<span ng-if="renderModel.length > model.config.maxNumber">
|
||||
<localize key="validation_maxCount">You can only have</localize> {{model.config.maxNumber}} <localize key="validation_itemsSelected"> items selected</localize>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<!-- Only max -->
|
||||
<span ng-if="!model.config.minNumber && model.config.maxNumber">
|
||||
<span ng-if="renderModel.length < model.config.maxNumber">Add up to {{model.config.maxNumber}} items</span>
|
||||
<span ng-if="renderModel.length > model.config.maxNumber">
|
||||
<localize key="validation_maxCount">You can only have</localize> {{model.config.maxNumber}} <localize key="validation_itemsSelected">items selected</localize>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<!-- Only min -->
|
||||
<span ng-if="model.config.minNumber && !model.config.maxNumber && renderModel.length < model.config.minNumber">
|
||||
Add at least {{model.config.minNumber}} item(s)
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!--These are here because we need ng-form fields to validate against-->
|
||||
<input type="hidden" name="minCount" ng-model="renderModel" />
|
||||
<input type="hidden" name="maxCount" ng-model="renderModel" />
|
||||
|
||||
<div class="help-inline" val-msg-for="minCount" val-toggle-msg="minCount">
|
||||
<localize key="validation_minCount">You need to add at least</localize> {{model.config.minNumber}} <localize key="validation_items">items</localize>
|
||||
</div>
|
||||
|
||||
<div class="help-inline" val-msg-for="maxCount" val-toggle-msg="maxCount">
|
||||
<localize key="validation_maxCount">You can only have</localize> {{model.config.maxNumber}} <localize key="validation_itemsSelected">items selected</localize>
|
||||
</div>
|
||||
</ng-form>
|
||||
<umb-overlay ng-if="linkPickerOverlay.show"
|
||||
model="linkPickerOverlay"
|
||||
view="linkPickerOverlay.view"
|
||||
position="right">
|
||||
</umb-overlay>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<select id="{{model.alias}}_doctype_select"
|
||||
ng-options="dt.alias as dt.name for dt in model.docTypes | orderBy: 'name'"
|
||||
ng-options="dt.alias as dt.name for dt in selectableDocTypesFor(config) | orderBy: 'name'"
|
||||
ng-model="config.ncAlias" required></select>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="umb-pane">
|
||||
<div ng-repeat="property in tab.properties" style="position: relative;">
|
||||
|
||||
<umb-property property="property" ng-class="{'umb-nested-content--not-supported': property.notSupported}">
|
||||
<umb-property property="property" ng-class="{'umb-nested-content--not-supported': property.notSupported}" data-element="property-{{property.alias}}">
|
||||
<umb-editor model="property"></umb-editor>
|
||||
</umb-property>
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
<p ng-if="property.notSupported">{{property.notSupportedMessage}}</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,38 +37,18 @@
|
||||
</div>
|
||||
|
||||
<div class="umb-nested-content__footer-bar" ng-hide="nodes.length >= maxItems">
|
||||
<a class="umb-nested-content__icon" ng-click="openNodeTypePicker($event)" prevent-default>
|
||||
<a href class="umb-nested-content__icon" ng-click="openNodeTypePicker($event)" prevent-default>
|
||||
<i class="icon icon-add"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="usky-grid umb-nested-content__node-type-picker" ng-if="overlayMenu.show">
|
||||
<div class="cell-tools-menu" ng-style="overlayMenu.style" style="margin: 0;" delayed-mouseleave="closeNodeTypePicker()" on-delayed-mouseleave="closeNodeTypePicker()">
|
||||
<h5>
|
||||
<localize key="grid_insertControl" />
|
||||
</h5>
|
||||
|
||||
<div class="form-search" ng-hide="overlayMenu.showFilter === false" style="margin-bottom: 15px;">
|
||||
<i class="icon-search"></i>
|
||||
<input type="text"
|
||||
ng-model="searchTerm"
|
||||
class="umb-search-field search-query input-block-level -full-width-input"
|
||||
localize="placeholder"
|
||||
placeholder="@placeholders_filter"
|
||||
umb-auto-focus
|
||||
no-dirty-check />
|
||||
</div>
|
||||
|
||||
<ul class="elements">
|
||||
<li ng-repeat="scaffold in overlayMenu.scaffolds | filter:searchTerm">
|
||||
<a ng-click="addNode(scaffold.alias)" href>
|
||||
<i class="icon {{scaffold.icon}}"></i>
|
||||
{{scaffold.name}}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ng-form>
|
||||
|
||||
<umb-overlay
|
||||
ng-if="overlayMenu.show"
|
||||
position="target"
|
||||
view="overlayMenu.view"
|
||||
model="overlayMenu">
|
||||
</umb-overlay>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
<div class="umb-editor umb-radiobuttons" ng-controller="Umbraco.PropertyEditors.RadioButtonsController">
|
||||
<div class="umb-editor umb-edtitor--list" ng-controller="Umbraco.PropertyEditors.RadioButtonsController">
|
||||
<ul class="unstyled">
|
||||
<li ng-repeat="item in model.config.items">
|
||||
<label class="radio">
|
||||
<input type="radio" name="radiobuttons-{{model.alias}}"
|
||||
value="{{item.id}}"
|
||||
ng-model="model.value" />
|
||||
{{item.value}}
|
||||
</label>
|
||||
|
||||
<li ng-repeat="item in model.config.items" class="umb-editor__item">
|
||||
<umb-radiobutton name="{{model.alias}}" value="{{item.id}}" model="model.value" text="{{item.value}}"></umb-radiobutton>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div ng-controller="Umbraco.PropertyEditors.RTEController" class="umb-editor umb-rte">
|
||||
<div ng-if="isLoading"><localize key="general_loading">Loading</localize>...</div>
|
||||
<div class="-loading" ng-if="isLoading"><localize key="general_loading">Loading</localize>...</div>
|
||||
<textarea ng-style="{ visibility : isLoading ? 'hidden' : 'visible'}"
|
||||
ng-model="model.value" rows="10"
|
||||
id="{{textAreaHtmlId}}"></textarea>
|
||||
|
||||
@@ -40,4 +40,5 @@
|
||||
<input type="number" min="0" ng-model="model.value.maxImageSize" class="umb-editor-tiny" placeholder="Width/Height" /> Pixels
|
||||
</div>
|
||||
</umb-control-group>
|
||||
|
||||
</div>
|
||||
@@ -1,9 +1,9 @@
|
||||
<div ng-controller="Umbraco.PropertyEditors.textAreaController">
|
||||
<textarea ng-model="model.value" id="{{model.alias}}" name="textarea" rows="10" class="umb-editor umb-textarea textstring" val-server="value" ng-keyup="model.change()"></textarea>
|
||||
<textarea ng-model="model.value" id="{{model.alias}}" name="textarea" rows="{{model.config.rows || 10}}" class="umb-editor umb-textarea textstring" val-server="value" ng-keyup="model.change()"></textarea>
|
||||
<span class="help-inline" val-msg-for="textarea" val-toggle-msg="required"><localize key="general_required">Required</localize></span>
|
||||
<span class="help-inline" val-msg-for="textarea" val-toggle-msg="valServer"></span>
|
||||
<div class="help" ng-if="model.maxlength">
|
||||
<strong>{{model.count}}</strong>
|
||||
<localize key="textbox_characters_left">characters left</localize>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user