Merge pull request #2838 from umbraco/temp8-bye-umbraco_client

Bye umbraco_client
This commit is contained in:
Warren Buckley
2018-08-07 10:09:36 +01:00
committed by GitHub
110 changed files with 503 additions and 8980 deletions

View File

@@ -31,6 +31,8 @@
"jquery": "2.2.4",
"jquery-ui": "~1.12.0",
"jquery-migrate": "1.4.0",
"jquery-validate": "~1.17.0",
"jquery-validation-unobtrusive": "3.2.10",
"angular-dynamic-locale": "~0.1.36",
"ng-file-upload": "~12.2.13",
"tinymce": "~4.7.1",
@@ -53,39 +55,41 @@
"ace-builds"
],
"sources": {
"moment": [
"bower_components/moment/min/moment.min.js",
"bower_components/moment/min/moment-with-locales.js",
"bower_components/moment/min/moment-with-locales.min.js",
"bower_components/moment/locale/*.js"
],
"underscore": [
"bower_components/underscore/underscore-min.js",
"bower_components/underscore/underscore-min.map"
],
"jquery": [
"bower_components/jquery/dist/jquery.min.js",
"bower_components/jquery/dist/jquery.min.map"
],
"angular-dynamic-locale": [
"bower_components/angular-dynamic-locale/tmhDynamicLocale.min.js",
"bower_components/angular-dynamic-locale/tmhDynamicLocale.min.js.map"
],
"angular-local-storage": [
"bower_components/angular-local-storage/dist/angular-local-storage.min.js",
"bower_components/angular-local-storage/dist/angular-local-storage.min.js.map"
],
"tinymce": [
"bower_components/tinymce/tinymce.min.js"
],
"angular-i18n": "bower_components/angular-i18n/angular-locale_*.js",
"typeahead.js": "bower_components/typeahead.js/dist/typeahead.bundle.min.js",
"rgrove-lazyload": "bower_components/rgrove-lazyload/lazyload.js",
"ng-file-upload": "bower_components/ng-file-upload/ng-file-upload.min.js",
"jquery-ui": "bower_components/jquery-ui/jquery-ui.min.js",
"jquery-migrate": "bower_components/jquery-migrate/jquery-migrate.min.js",
"clipboard": "bower_components/clipboard/dist/clipboard.min.js",
"animejs": "bower_components/animejs/anime.min.js"
"moment": [
"bower_components/moment/min/moment.min.js",
"bower_components/moment/min/moment-with-locales.js",
"bower_components/moment/min/moment-with-locales.min.js",
"bower_components/moment/locale/*.js"
],
"underscore": [
"bower_components/underscore/underscore-min.js",
"bower_components/underscore/underscore-min.map"
],
"jquery": [
"bower_components/jquery/dist/jquery.min.js",
"bower_components/jquery/dist/jquery.min.map"
],
"angular-dynamic-locale": [
"bower_components/angular-dynamic-locale/tmhDynamicLocale.min.js",
"bower_components/angular-dynamic-locale/tmhDynamicLocale.min.js.map"
],
"angular-local-storage": [
"bower_components/angular-local-storage/dist/angular-local-storage.min.js",
"bower_components/angular-local-storage/dist/angular-local-storage.min.js.map"
],
"tinymce": [
"bower_components/tinymce/tinymce.min.js"
],
"angular-i18n": "bower_components/angular-i18n/angular-locale_*.js",
"typeahead.js": "bower_components/typeahead.js/dist/typeahead.bundle.min.js",
"rgrove-lazyload": "bower_components/rgrove-lazyload/lazyload.js",
"ng-file-upload": "bower_components/ng-file-upload/ng-file-upload.min.js",
"jquery-ui": "bower_components/jquery-ui/jquery-ui.min.js",
"jquery-migrate": "bower_components/jquery-migrate/jquery-migrate.min.js",
"clipboard": "bower_components/clipboard/dist/clipboard.min.js",
"animejs": "bower_components/animejs/anime.min.js",
"jquery-validate": "bower_components/jquery-validate/dist/jquery.validate.min.js",
"jquery-validation-unobtrusive": "bower_components/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"
}
},
"devDependencies": {

View File

@@ -66,11 +66,12 @@ table {
// CONDENSED TABLE W/ HALF PADDING
// -------------------------------
.table-condensed {
th,
td {
padding: 4px 5px;
}
.table-condensed tbody td {
padding: 5px 10px;
}
.table-condensed thead th {
padding: 10px;
}
@@ -249,3 +250,8 @@ table th[class*="span"],
background-color: darken(@infoBackground, 5%);
}
}
// table sortable
.table-sortable tbody tr {
cursor: move;
}

View File

@@ -0,0 +1,24 @@
<div ng-controller="Umbraco.Editors.Content.AssignDomainController as vm">
<div class="umb-dialog-body">
<umb-pane>
<p>UI magic to be done...</p>
</umb-pane>
</div>
<div class="umb-dialog-footer btn-toolbar umb-btn-toolbar">
<umb-button
label-key="general_cancel"
action="vm.closeDialog()"
type="button"
button-style="link">
</umb-button>
<umb-button
label-key="buttons_save"
type="button"
button-style="success">
</umb-button>
</div>
</div>

View File

@@ -0,0 +1,17 @@
(function () {
"use strict";
function AssignDomainController($scope) {
var vm = this;
vm.closeDialog = closeDialog;
function closeDialog() {
$scope.nav.hideDialog();
}
}
angular.module("umbraco").controller("Umbraco.Editors.Content.AssignDomainController", AssignDomainController);
})();

View File

@@ -0,0 +1,82 @@
(function () {
"use strict";
function ContentSortController($scope, $filter, contentResource, navigationService) {
var vm = this;
var parentId = $scope.currentNode.parentId ? $scope.currentNode.parentId : "-1";
var id = $scope.currentNode.id;
vm.loading = false;
vm.children = [];
vm.saveButtonState = "init";
vm.sortOrder = {};
vm.sortableOptions = {
distance: 10,
tolerance: "pointer",
opacity: 0.7,
scroll: true,
cursor: "move",
helper: fixSortableHelper,
update: function() {
// clear the sort order when drag and drop is used
vm.sortOrder.column = "";
vm.sortOrder.reverse = false;
}
};
vm.save = save;
vm.sort = sort;
function onInit() {
vm.loading = true;
contentResource.getChildren(id)
.then(function(data){
vm.children = data.items;
vm.loading = false;
});
}
function save() {
vm.saveButtonState = "busy";
var args = {
parentId: parentId,
sortedIds: _.map(vm.children, function(child){ return child.id; })
};
contentResource.sort(args)
.then(function(){
navigationService.syncTree({ tree: "content", path: $scope.currentNode.path, forceReload: true, activate: false });
vm.saveButtonState = "success";
}, function(error) {
vm.error = error;
vm.saveButtonState = "error";
});
}
function fixSortableHelper(e, ui) {
// keep the correct width of each table cell when sorting
ui.children().each(function () {
$(this).width($(this).width());
});
return ui;
}
function sort(column) {
// reverse if it is already ordered by that column
if(vm.sortOrder.column === column) {
vm.sortOrder.reverse = !vm.sortOrder.reverse
} else {
vm.sortOrder.column = column;
vm.sortOrder.reverse = false;
}
vm.children = $filter('orderBy')(vm.children, vm.sortOrder.column, vm.sortOrder.reverse);
}
onInit();
}
angular.module("umbraco").controller("Umbraco.Editors.Content.SortController", ContentSortController);
})();

View File

@@ -0,0 +1,89 @@
<div ng-controller="Umbraco.Editors.Content.SortController as vm" ng-cloak>
<div class="umb-dialog-body with-footer">
<div class="umb-pane">
<div ng-if="vm.error">
<div class="alert alert-error">
<div>{{vm.error.errorMsg}}</div>
</div>
</div>
<umb-load-indicator
ng-show="vm.loading">
</umb-load-indicator>
<div ng-if="!vm.loading">
<p class="abstract"><localize key="sort_sortHelp"></localize></p>
<table class="table table-condensed table-sortable" ng-if="vm.children">
<thead>
<tr>
<th>
<a ng-href="#" ng-click="vm.sort('name')" prevent-default>
<localize key="general_name"></localize>
<span ng-if="vm.sortOrder.column === 'name'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
<th>
<a ng-href="#" ng-click="vm.sort('createDate')" prevent-default>
<localize key="sort_sortCreationDate"></localize>
<span ng-if="vm.sortOrder.column === 'createDate'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
<th>
<a ng-href="#" ng-click="vm.sort('sortOrder')" prevent-default>
<localize key="sort_sortOrder"></localize>
<span ng-if="vm.sortOrder.column === 'sortOrder'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
</tr>
</thead>
<tbody ui-sortable="vm.sortableOptions" ng-model="vm.children">
<tr ng-repeat="child in vm.children">
<td>{{ child.name }}</td>
<td>{{ child.createDate }}</td>
<td>{{ child.sortOrder }}</td>
</tr>
</tbody>
</table>
<umb-empty-state
ng-if="!vm.children"
position="center">
<localize key="sort_sortEmptyState"></localize>
</umb-empty-state>
</div>
</div>
</div>
<div class="umb-dialog-footer btn-toolbar umb-btn-toolbar">
<umb-button
type="button"
button-style="link"
action="nav.hideDialog()"
label-key="general_close">
</umb-button>
<umb-button
ng-if="vm.children"
type="button"
action="vm.save()"
state="vm.saveButtonState"
button-style="success"
label-key="buttons_save">
</umb-button>
</div>
</div>

View File

@@ -0,0 +1,82 @@
(function () {
"use strict";
function MediaSortController($scope, $filter, mediaResource, navigationService) {
var vm = this;
var parentId = $scope.currentNode.parentId ? $scope.currentNode.parentId : "-1";
var id = $scope.currentNode.id;
vm.loading = false;
vm.children = [];
vm.saveButtonState = "init";
vm.sortOrder = {};
vm.sortableOptions = {
distance: 10,
tolerance: "pointer",
opacity: 0.7,
scroll: true,
cursor: "move",
helper: fixSortableHelper,
update: function() {
// clear the sort order when drag and drop is used
vm.sortOrder.column = "";
vm.sortOrder.reverse = false;
}
};
vm.save = save;
vm.sort = sort;
function onInit() {
vm.loading = true;
mediaResource.getChildren(id)
.then(function(data){
vm.children = data.items;
vm.loading = false;
});
}
function save() {
vm.saveButtonState = "busy";
var args = {
parentId: parentId,
sortedIds: _.map(vm.children, function(child){ return child.id; })
};
mediaResource.sort(args)
.then(function(){
navigationService.syncTree({ tree: "media", path: $scope.currentNode.path, forceReload: true, activate: false });
vm.saveButtonState = "success";
}, function(error) {
vm.error = error;
vm.saveButtonState = "error";
});
}
function fixSortableHelper(e, ui) {
// keep the correct width of each table cell when sorting
ui.children().each(function () {
$(this).width($(this).width());
});
return ui;
}
function sort(column) {
// reverse if it is already ordered by that column
if(vm.sortOrder.column === column) {
vm.sortOrder.reverse = !vm.sortOrder.reverse
} else {
vm.sortOrder.column = column;
vm.sortOrder.reverse = false;
}
vm.children = $filter('orderBy')(vm.children, vm.sortOrder.column, vm.sortOrder.reverse);
}
onInit();
}
angular.module("umbraco").controller("Umbraco.Editors.Media.SortController", MediaSortController);
})();

View File

@@ -0,0 +1,88 @@
<div ng-controller="Umbraco.Editors.Media.SortController as vm" ng-cloak>
<div class="umb-dialog-body with-footer">
<div class="umb-pane">
<div ng-if="vm.error">
<div class="alert alert-error">
<div>{{vm.error.errorMsg}}</div>
</div>
</div>
<umb-load-indicator
ng-show="vm.loading">
</umb-load-indicator>
<div ng-if="!vm.loading">
<p class="abstract"><localize key="sort_sortHelp"></localize></p>
<table class="table table-condensed table-sortable" ng-if="vm.children">
<thead>
<tr>
<th>
<a ng-href="#" ng-click="vm.sort('name')" prevent-default>
<localize key="general_name"></localize>
<span ng-if="vm.sortOrder.column === 'name'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
<th>
<a ng-href="#" ng-click="vm.sort('createDate')" prevent-default>
<localize key="sort_sortCreationDate"></localize>
<span ng-if="vm.sortOrder.column === 'createDate'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
<th>
<a ng-href="#" ng-click="vm.sort('sortOrder')" prevent-default>
<localize key="sort_sortOrder"></localize>
<span ng-if="vm.sortOrder.column === 'sortOrder'">
<i ng-if="vm.sortOrder.reverse" class="icon-navigation-up"></i>
<i ng-if="!vm.sortOrder.reverse" class="icon-navigation-down"></i>
</span>
</a>
</th>
</tr>
</thead>
<tbody ui-sortable="vm.sortableOptions" ng-model="vm.children">
<tr ng-repeat="child in vm.children">
<td>{{ child.name }}</td>
<td>{{ child.createDate }}</td>
<td>{{ child.sortOrder }}</td>
</tr>
</tbody>
</table>
<umb-empty-state
ng-if="!vm.children"
position="center">
<localize key="sort_sortEmptyState"></localize>
</umb-empty-state>
</div>
</div>
</div>
<div class="umb-dialog-footer btn-toolbar umb-btn-toolbar">
<umb-button
type="button"
button-style="link"
action="nav.hideDialog()"
label-key="general_close">
</umb-button>
<umb-button
ng-if="vm.children"
type="button"
action="vm.save()"
state="vm.saveButtonState"
button-style="success"
label-key="buttons_save">
</umb-button>
</div>
</div>