diff --git a/gui/app/constants/constants.js b/gui/app/constants/constants.js index 73793897..defda0fd 100644 --- a/gui/app/constants/constants.js +++ b/gui/app/constants/constants.js @@ -59,7 +59,7 @@ let constants = EmberObject.extend({ Group: 'role' }, - EveryoneUserId: "0", + EveryoneUserId: '0', EveryoneUserName: "Everyone", // Document @@ -71,6 +71,13 @@ let constants = EmberObject.extend({ DraftLabel: 'Draft', LiveLabel: 'Live', ArchivedLabel: 'Archived', + }, + + // Document Version -- document.groupId links different versions of documents together + VersionCreateMode: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects + Unversioned: 1, // turn unversioned into versioned document + Cloned: 2, // create versioned document by cloning existing versioned document + Linked: 3 // link existing unversion document into this version group } }); diff --git a/gui/app/styles/widget/widget.scss b/gui/app/styles/widget/widget.scss index e91acd3d..3b409793 100644 --- a/gui/app/styles/widget/widget.scss +++ b/gui/app/styles/widget/widget.scss @@ -61,6 +61,27 @@ box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); } +.drag-handle { + font-size: 1.5rem; + color: $color-gray-light; + cursor: pointer; +} + +.drag-indicator-dropzone { + opacity: 1 !important; + border: 2px dotted $color-border; +} + +.drag-indicator-chosen { + opacity: 1 !important; + background: $color-off-white; +} + +.drag-indicator-dragged { + opacity: 1 !important; + @include card(); +} + @import "widget-avatar"; @import "widget-button"; @import "widget-checkbox"; diff --git a/gui/vendor/sortable.js b/gui/vendor/sortable.js index 94610f30..467a4818 100644 --- a/gui/vendor/sortable.js +++ b/gui/vendor/sortable.js @@ -1,3 +1,65 @@ +/** + * jQuery plugin for Sortable + * @author RubaXa + * @license MIT + */ +(function (factory) { + "use strict"; + + if (typeof define === "function" && define.amd) { + define(["jquery"], factory); + } + else { + /* jshint sub:true */ + factory(jQuery); + } +})(function ($) { + "use strict"; + + + /* CODE */ + + + /** + * jQuery plugin for Sortable + * @param {Object|String} options + * @param {..*} [args] + * @returns {jQuery|*} + */ + $.fn.sortable = function (options) { + var retVal, + args = arguments; + + this.each(function () { + var $el = $(this), + sortable = $el.data('sortable'); + + if (!sortable && (options instanceof Object || !options)) { + sortable = new Sortable(this, options); + $el.data('sortable', sortable); + } + + if (sortable) { + if (options === 'widget') { + retVal = sortable; + } + else if (options === 'destroy') { + sortable.destroy(); + $el.removeData('sortable'); + } + else if (typeof sortable[options] === 'function') { + retVal = sortable[options].apply(sortable, [].slice.call(args, 1)); + } + else if (options in sortable.options) { + retVal = sortable.option.apply(sortable, args); + } + } + }); + + return (retVal === void 0) ? this : retVal; + }; +}); + /**! * Sortable * @author RubaXa @@ -1489,6 +1551,3 @@ Sortable.version = '1.6.0'; return Sortable; }); - - -// http://rubaxa.github.io/Sortable/