pageflow 15.3.0 → 15.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +158 -353
- data/README.md +2 -3
- data/app/assets/javascripts/pageflow/dist/ui.js +99 -32
- data/app/assets/javascripts/pageflow/vendor.js +0 -1
- data/app/assets/stylesheets/pageflow/editor/base.scss +3 -2
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +1 -1
- data/app/assets/stylesheets/pageflow/editor/select_button.scss +1 -1
- data/app/assets/stylesheets/pageflow/editor/sidebar_footer.scss +1 -1
- data/app/assets/stylesheets/pageflow/entries.scss +1 -1
- data/app/assets/stylesheets/pageflow/loading_spinner.scss +4 -1
- data/app/assets/stylesheets/pageflow/navigation_mobile.scss +4 -4
- data/app/assets/stylesheets/pageflow/themes/default/anchors.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/logo/variant/watermark.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/page/anchors.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/classic/control_bar.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/classic/info_box.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/shared/menu_bar.scss +2 -2
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/slim/control_bar.scss +2 -2
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/slim/info_box.scss +1 -1
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/slim/quality_menu.scss +2 -2
- data/app/assets/stylesheets/pageflow/themes/default/player_controls/waveform/wave.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +9 -2
- data/app/assets/stylesheets/pageflow/ui/input/extended_select_input.scss +2 -2
- data/app/models/pageflow/account_role_query.rb +1 -1
- data/app/models/pageflow/managed_user_query.rb +1 -1
- data/app/policies/pageflow/folder_policy.rb +2 -2
- data/app/policies/pageflow/membership_policy.rb +2 -2
- data/app/policies/pageflow/theming_policy.rb +2 -2
- data/app/policies/pageflow/user_policy.rb +1 -1
- data/app/views/pageflow/video_files/_video_file.json.jbuilder +8 -1
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +103 -36
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +42 -15
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/vendor.js +1 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/videojs.js +6 -0
- data/entry_types/paged/app/views/layouts/pageflow_paged/_loading_spinner_inline_script.html.erb +1 -0
- data/entry_types/paged/app/views/layouts/pageflow_paged/application.html.erb +1 -1
- data/entry_types/paged/app/views/pageflow_paged/editor/entries/_head.html.erb +2 -0
- data/entry_types/paged/lib/tasks/pageflow_paged_tasks.rake +7 -0
- data/{vendor/assets/javascripts → entry_types/paged/vendor/assets/javascripts/pageflow_paged/vendor}/dash.all.min.js +0 -0
- data/{vendor/assets/javascripts → entry_types/paged/vendor/assets/javascripts/pageflow_paged/vendor}/videojs-dash.js +0 -0
- data/{vendor/assets/javascripts → entry_types/paged/vendor/assets/javascripts/pageflow_paged/vendor}/videojs.js +0 -0
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +2 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +1 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +21 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +12 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +5 -7
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +1 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +10 -0
- data/entry_types/scrolled/config/locales/de.yml +655 -0
- data/entry_types/scrolled/config/locales/en.yml +522 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +5 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/android-chrome-192x192.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/android-chrome-512x512.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/apple-touch-icon.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +9 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon-16x16.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon-32x32.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon.ico +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +46 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +19 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/unmute.mp3 +0 -0
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled_tasks.rake +1 -0
- data/entry_types/scrolled/package/contentElements-editor.js +14 -1
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +338 -104
- data/entry_types/scrolled/package/editor.js +594 -242
- data/entry_types/scrolled/package/frontend/{EditableText-4264c349.js → EditableText-43c50894.js} +331 -163
- data/entry_types/scrolled/package/frontend/{Wavesurfer-c3c45324.js → Wavesurfer-b88b02e0.js} +0 -3
- data/entry_types/scrolled/package/frontend/{components-cfe6a479.js → components-3ead1b4a.js} +509 -91
- data/entry_types/scrolled/package/frontend/index.css +2 -2
- data/entry_types/scrolled/package/frontend/index.js +2107 -1025
- data/entry_types/scrolled/package/package.json +15 -3
- data/lib/generators/pageflow/initializer/templates/pageflow.rb +2 -1
- data/lib/pageflow/engine.rb +0 -1
- data/lib/pageflow/themes.rb +4 -0
- data/lib/pageflow/version.rb +1 -1
- data/package/config/jest/index.js +7 -2
- data/package/config/webpack.js +1 -2
- data/package/editor.js +4 -4
- data/package/frontend.js +30 -13
- data/package/ui.js +99 -32
- metadata +25 -11
- data/app/assets/javascripts/pageflow/videojs.js +0 -6
- data/entry_types/scrolled/config/locales/new/de.yml +0 -601
- data/entry_types/scrolled/config/locales/new/en.yml +0 -507
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ConfigurationEditorTabView, SelectInputView, TextInputView, cssModulesUtils, SortableCollectionView, Object as Object$1, TextAreaInputView, CheckBoxInputView, inputView } from 'pageflow/ui';
|
1
|
+
import { ConfigurationEditorTabView, SelectInputView, TextInputView, cssModulesUtils, SortableCollectionView, Object as Object$1, TextAreaInputView, CheckBoxInputView, SliderInputView, inputView } from 'pageflow/ui';
|
2
2
|
import * as globalInterop from 'pageflow/editor';
|
3
3
|
import { editor as editor$1, configurationContainer, delayedDestroying, entryTypeEditorControllerUrls, failureTracking, ForeignKeySubsetCollection, orderedCollection, Configuration, Entry, modelLifecycleTrackingView, CollectionView, app, EditConfigurationView, cssModulesUtils as cssModulesUtils$1, FileInputView, ColorInputView } from 'pageflow/editor';
|
4
4
|
import I18n, { t } from 'i18n-js';
|
@@ -6,6 +6,9 @@ import Backbone$1 from 'backbone';
|
|
6
6
|
import Marionette from 'backbone.marionette';
|
7
7
|
import React from 'react';
|
8
8
|
import ReactDOM from 'react-dom';
|
9
|
+
import { createContext } from 'use-context-selector';
|
10
|
+
import { createSelectorCreator, defaultMemoize } from 'reselect';
|
11
|
+
import 'slugify';
|
9
12
|
import { SectionThumbnail, getAvailableTransitionNames, getTransitionNames } from 'pageflow-scrolled/frontend';
|
10
13
|
import $ from 'jquery';
|
11
14
|
import { editor as editor$2 } from 'pageflow-scrolled/editor';
|
@@ -356,6 +359,7 @@ var SectionConfiguration = Configuration.extend({
|
|
356
359
|
defaults: {
|
357
360
|
transition: 'scroll',
|
358
361
|
fullHeight: true,
|
362
|
+
exposeMotifArea: true,
|
359
363
|
backdrop: {}
|
360
364
|
},
|
361
365
|
initialize: function initialize() {
|
@@ -404,26 +408,30 @@ var SectionConfiguration = Configuration.extend({
|
|
404
408
|
|
405
409
|
case 'video':
|
406
410
|
return this.set('backdrop', {
|
407
|
-
video: this.get('backdropVideo')
|
411
|
+
video: this.get('backdropVideo'),
|
412
|
+
videoMotifArea: this.get('backdropVideoMotifArea')
|
408
413
|
});
|
409
414
|
|
410
415
|
default:
|
411
416
|
return this.set('backdrop', {
|
412
417
|
image: this.get('backdropImage'),
|
413
|
-
|
418
|
+
imageMotifArea: this.get('backdropImageMotifArea'),
|
419
|
+
imageMobile: this.get('backdropImageMobile'),
|
420
|
+
imageMobileMotifArea: this.get('backdropImageMobileMotifArea')
|
414
421
|
});
|
415
422
|
}
|
416
423
|
}
|
417
424
|
});
|
418
425
|
var FileSelectionHandler = function FileSelectionHandler(options) {
|
419
|
-
var
|
426
|
+
var section = options.entry.sections.get(options.id);
|
420
427
|
|
421
428
|
this.call = function (file) {
|
422
|
-
|
429
|
+
section.configuration.setReference(options.attributeName, file);
|
430
|
+
section.configuration.set("".concat(options.attributeName, "MotifArea"), file.configuration.get('motifArea'));
|
423
431
|
};
|
424
432
|
|
425
433
|
this.getReferer = function () {
|
426
|
-
return '/scrolled/sections/' +
|
434
|
+
return '/scrolled/sections/' + section.id;
|
427
435
|
};
|
428
436
|
};
|
429
437
|
editor$1.registerFileSelectionHandler('sectionConfiguration', FileSelectionHandler);
|
@@ -491,14 +499,26 @@ var ContentElement = Backbone$1.Model.extend({
|
|
491
499
|
},
|
492
500
|
applyDefaultConfiguration: function applyDefaultConfiguration(sibling) {
|
493
501
|
this.configuration.set(_objectSpread2(_objectSpread2({}, this.getType().defaultConfig), {}, {
|
494
|
-
position: sibling.getDefaultSiblingPosition()
|
502
|
+
position: sibling === null || sibling === void 0 ? void 0 : sibling.getDefaultSiblingPosition()
|
495
503
|
}));
|
496
504
|
},
|
505
|
+
getPosition: function getPosition() {
|
506
|
+
return this.configuration.get('position') || 'inline';
|
507
|
+
},
|
497
508
|
getAvailablePositions: function getAvailablePositions() {
|
498
|
-
|
509
|
+
var supportedByLayout = this.section.configuration.get('layout') === 'center' ? ['inline', 'left', 'right', 'full'] : ['inline', 'sticky', 'full'];
|
510
|
+
var supportedByType = this.getType().supportedPositions;
|
511
|
+
|
512
|
+
if (supportedByType) {
|
513
|
+
return supportedByLayout.filter(function (position) {
|
514
|
+
return supportedByType.includes(position);
|
515
|
+
});
|
516
|
+
} else {
|
517
|
+
return supportedByLayout;
|
518
|
+
}
|
499
519
|
},
|
500
520
|
getDefaultSiblingPosition: function getDefaultSiblingPosition() {
|
501
|
-
var position = this.
|
521
|
+
var position = this.getPosition();
|
502
522
|
|
503
523
|
if (position === 'full') {
|
504
524
|
return 'inline';
|
@@ -516,213 +536,421 @@ var ContentElementsCollection = Backbone$1.Collection.extend({
|
|
516
536
|
comparator: 'position'
|
517
537
|
});
|
518
538
|
|
519
|
-
|
520
|
-
|
521
|
-
// response.
|
522
|
-
//
|
523
|
-
// More complex changes can be performed via command
|
524
|
-
// objects. Those can be used to manipulate items that represents a
|
525
|
-
// content element in the batch request. Moreover, each command can
|
526
|
-
// contain logic that performs updates once the request has succeeded
|
527
|
-
// or rolls back local changes if the request fails.
|
528
|
-
|
529
|
-
function batch(section, commands) {
|
530
|
-
Backbone$1.sync('update', section, {
|
531
|
-
url: "".concat(section.url(), "/content_elements/batch"),
|
532
|
-
attrs: {
|
533
|
-
content_elements: createBatchItems(section, commands)
|
534
|
-
},
|
535
|
-
success: function success(response) {
|
536
|
-
storePersistedIds(section, response);
|
537
|
-
commands.forEach(function (command) {
|
538
|
-
return command.complete();
|
539
|
-
});
|
540
|
-
},
|
541
|
-
error: function error() {
|
542
|
-
commands.forEach(function (command) {
|
543
|
-
return command.rollback();
|
544
|
-
});
|
545
|
-
}
|
546
|
-
});
|
539
|
+
function _arrayWithoutHoles(arr) {
|
540
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
547
541
|
}
|
548
|
-
var nullCommand = {
|
549
|
-
batchItemFor: function batchItemFor() {},
|
550
|
-
complete: function complete() {},
|
551
|
-
rollback: function rollback() {}
|
552
|
-
};
|
553
542
|
|
554
|
-
function
|
555
|
-
|
556
|
-
|
543
|
+
function _iterableToArray(iter) {
|
544
|
+
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
545
|
+
}
|
557
546
|
|
558
|
-
|
559
|
-
|
560
|
-
} else if (contentElement.isNew()) {
|
561
|
-
return {
|
562
|
-
typeName: contentElement.get('typeName'),
|
563
|
-
configuration: contentElement.configuration.toJSON()
|
564
|
-
};
|
565
|
-
} else {
|
566
|
-
return contentElement.pick('id');
|
567
|
-
}
|
568
|
-
});
|
547
|
+
function _nonIterableSpread() {
|
548
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
569
549
|
}
|
570
550
|
|
571
|
-
function
|
572
|
-
return
|
573
|
-
return result || command.batchItemFor(contentElement);
|
574
|
-
}, null);
|
551
|
+
function _toConsumableArray(arr) {
|
552
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
575
553
|
}
|
576
554
|
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
555
|
+
// persisting the changes to the server in a single request and
|
556
|
+
// applying them to the section once the requests succeeds.
|
557
|
+
|
558
|
+
function Batch(entry, section) {
|
559
|
+
// Shallow copy of the section's list of content elements to store
|
560
|
+
// ordering changes and newly inserted content elements.
|
561
|
+
var contentElements = section.contentElements.toArray(); // Since contentElements is only a shallow copy, we cannot write
|
562
|
+
// configuration changes to the actual content elements.
|
563
|
+
|
564
|
+
var changedConfigurations = {}; // Content elements that have been removed from contentElements
|
565
|
+
// and shall be deleted on the server.
|
566
|
+
|
567
|
+
var markedForDeletion = []; // Track whether changes have been recorded which need to be
|
568
|
+
// persisted to the server.
|
569
|
+
|
570
|
+
var isDirty = false;
|
571
|
+
return {
|
572
|
+
getAdjacent: getAdjacent,
|
573
|
+
split: split,
|
574
|
+
maybeMerge: maybeMerge,
|
575
|
+
insertBefore: insertBefore,
|
576
|
+
insertAfter: insertAfter,
|
577
|
+
markForUpdate: markForUpdate,
|
578
|
+
markForDeletion: markForDeletion,
|
579
|
+
remove: remove,
|
580
|
+
save: save,
|
581
|
+
saveIfDirty: saveIfDirty
|
582
|
+
};
|
583
|
+
|
584
|
+
function getAdjacent(contentElement) {
|
585
|
+
var index = contentElements.indexOf(contentElement);
|
586
|
+
return [contentElements[index - 1], contentElements[index + 1]];
|
587
|
+
} // Higher level transformations based on the more low level
|
588
|
+
// transformations below:
|
589
|
+
|
590
|
+
|
591
|
+
function split(contentElement, splitPoint) {
|
592
|
+
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
593
|
+
insertAt = _ref.insertAt;
|
594
|
+
|
595
|
+
var _contentElement$getTy = contentElement.getType().split(getCurrentConfiguration(contentElement), splitPoint),
|
596
|
+
_contentElement$getTy2 = _slicedToArray(_contentElement$getTy, 2),
|
597
|
+
c1 = _contentElement$getTy2[0],
|
598
|
+
c2 = _contentElement$getTy2[1];
|
599
|
+
|
600
|
+
var splitOffContentElement;
|
601
|
+
|
602
|
+
if (insertAt === 'before') {
|
603
|
+
splitOffContentElement = new ContentElement({
|
604
|
+
typeName: contentElement.get('typeName'),
|
605
|
+
configuration: c1
|
606
|
+
});
|
607
|
+
insertBefore(contentElement, splitOffContentElement);
|
608
|
+
markForUpdate(contentElement, c2);
|
609
|
+
} else {
|
610
|
+
splitOffContentElement = new ContentElement({
|
611
|
+
typeName: contentElement.get('typeName'),
|
612
|
+
configuration: c2
|
583
613
|
});
|
614
|
+
markForUpdate(contentElement, c1);
|
615
|
+
insertAfter(contentElement, splitOffContentElement);
|
584
616
|
}
|
585
|
-
});
|
586
|
-
}
|
587
617
|
|
588
|
-
|
589
|
-
|
590
|
-
splitPoint = _ref.splitPoint;
|
591
|
-
var section = sibling.section;
|
592
|
-
var insertIndex = reindexPositionsToMakeRoomForInsertion(section, sibling, at);
|
593
|
-
var commands = [at === 'split' && prepareSplit(entry, section, sibling, splitPoint), prepareInsertion(entry, section, sibling, attributes, insertIndex)].filter(Boolean);
|
594
|
-
section.contentElements.sort();
|
595
|
-
batch(section, commands);
|
596
|
-
}
|
618
|
+
return splitOffContentElement;
|
619
|
+
}
|
597
620
|
|
598
|
-
function
|
599
|
-
|
600
|
-
|
601
|
-
section.contentElements.forEach(function (contentElement, index) {
|
602
|
-
if (contentElement === sibling && at === 'before') {
|
603
|
-
delta = 1;
|
604
|
-
insertIndex = index;
|
621
|
+
function maybeMerge(before, after) {
|
622
|
+
if (!before || !after || before.get('typeName') !== after.get('typeName') || !before.getType().merge) {
|
623
|
+
return;
|
605
624
|
}
|
606
625
|
|
607
|
-
|
626
|
+
var mergedConfiguration = before.getType().merge(getCurrentConfiguration(before), getCurrentConfiguration(after)); // Update the aleady persisted content element, if one has not yet
|
627
|
+
// been persisted. For example, let X be a content element in
|
628
|
+
// between two text blocks T1 and T2:
|
629
|
+
//
|
630
|
+
// T1
|
631
|
+
// paragraph A
|
632
|
+
// paragraph B
|
633
|
+
// X
|
634
|
+
// T2
|
635
|
+
// paragraph C
|
636
|
+
//
|
637
|
+
// When X shall be moved between the two paragraphs of T1, the
|
638
|
+
// second paragraph of T1 will first be split off into a new
|
639
|
+
// content element T3:
|
640
|
+
//
|
641
|
+
// T1
|
642
|
+
// paragraph A
|
643
|
+
// T3
|
644
|
+
// paragraph B
|
645
|
+
// X
|
646
|
+
// T2
|
647
|
+
// paragraph C
|
648
|
+
//
|
649
|
+
// Then X will be moved:
|
650
|
+
//
|
651
|
+
// T1
|
652
|
+
// paragraph A
|
653
|
+
// X
|
654
|
+
// T3
|
655
|
+
// paragraph B
|
656
|
+
// T2
|
657
|
+
// paragraph C
|
658
|
+
//
|
659
|
+
// T3 and T2 become adjacent and need to be merged. We now want to
|
660
|
+
// update T2 instead of creating T3 and deleting T2. Final state:
|
661
|
+
//
|
662
|
+
// T1
|
663
|
+
// paragraph A
|
664
|
+
// X
|
665
|
+
// T2
|
666
|
+
// paragraph B
|
667
|
+
// paragraph C
|
668
|
+
//
|
669
|
+
|
670
|
+
if (before.isNew() && !after.isNew()) {
|
671
|
+
remove(before);
|
672
|
+
markForUpdate(after, mergedConfiguration);
|
673
|
+
} else {
|
674
|
+
markForUpdate(before, mergedConfiguration);
|
675
|
+
remove(after);
|
608
676
|
|
609
|
-
|
610
|
-
|
611
|
-
delta = 1;
|
612
|
-
insertIndex = index + 1;
|
613
|
-
} else if (at === 'split') {
|
614
|
-
delta = 2;
|
615
|
-
insertIndex = index + 1;
|
677
|
+
if (!after.isNew()) {
|
678
|
+
markForDeletion(after);
|
616
679
|
}
|
617
680
|
}
|
618
|
-
}
|
619
|
-
return insertIndex;
|
620
|
-
}
|
681
|
+
}
|
621
682
|
|
622
|
-
function
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
c2 = _sibling$getType$spli2[1];
|
683
|
+
function insertBefore(sibling, contentElement) {
|
684
|
+
isDirty = true;
|
685
|
+
contentElements.splice(contentElements.indexOf(sibling), 0, contentElement);
|
686
|
+
}
|
627
687
|
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
688
|
+
function insertAfter(sibling, contentElement) {
|
689
|
+
isDirty = true;
|
690
|
+
contentElements.splice(contentElements.indexOf(sibling) + 1, 0, contentElement);
|
691
|
+
}
|
692
|
+
|
693
|
+
function markForUpdate(contentElement, configuration) {
|
694
|
+
isDirty = true;
|
695
|
+
changedConfigurations[contentElement.id] = configuration;
|
696
|
+
}
|
697
|
+
|
698
|
+
function markForDeletion(contentElement) {
|
699
|
+
isDirty = true;
|
700
|
+
markedForDeletion.push(contentElement);
|
701
|
+
}
|
702
|
+
|
703
|
+
function remove(contentElement) {
|
704
|
+
// We do not mark the batch as dirty here to allow removing an
|
705
|
+
// element and adding it to another section. We are fine with
|
706
|
+
// the resulting gap in the position attributes of the section's
|
707
|
+
// content elements.
|
708
|
+
contentElements.splice(contentElements.indexOf(contentElement), 1);
|
709
|
+
}
|
710
|
+
|
711
|
+
function getCurrentConfiguration(contentElement) {
|
712
|
+
return changedConfigurations[contentElement.id] || contentElement.configuration.attributes;
|
713
|
+
} // Functionality to assemble and perform the batch request to
|
714
|
+
// persist the recorded changes:
|
715
|
+
|
716
|
+
|
717
|
+
function saveIfDirty(options) {
|
718
|
+
if (isDirty) {
|
719
|
+
save(options);
|
720
|
+
}
|
721
|
+
}
|
722
|
+
|
723
|
+
function save() {
|
724
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
725
|
+
_success = _ref2.success;
|
726
|
+
|
727
|
+
isDirty = false;
|
728
|
+
Backbone$1.sync('update', section, {
|
729
|
+
url: "".concat(section.url(), "/content_elements/batch"),
|
730
|
+
attrs: {
|
731
|
+
content_elements: createBatchItems()
|
732
|
+
},
|
733
|
+
success: function success(response) {
|
734
|
+
applyConfigurationChanges();
|
735
|
+
applyPositions();
|
736
|
+
applyAdditions(response);
|
737
|
+
applyDeletions();
|
738
|
+
section.contentElements.sort();
|
739
|
+
|
740
|
+
if (_success) {
|
741
|
+
_success();
|
742
|
+
}
|
743
|
+
}
|
744
|
+
});
|
745
|
+
}
|
746
|
+
|
747
|
+
function createBatchItems() {
|
748
|
+
return [].concat(_toConsumableArray(contentElements.map(function (contentElement) {
|
749
|
+
if (contentElement.isNew()) {
|
750
|
+
return {
|
751
|
+
typeName: contentElement.get('typeName'),
|
752
|
+
configuration: contentElement.configuration.attributes
|
753
|
+
};
|
754
|
+
} else if (changedConfigurations[contentElement.id]) {
|
637
755
|
return {
|
638
756
|
id: contentElement.id,
|
639
|
-
configuration:
|
757
|
+
configuration: changedConfigurations[contentElement.id]
|
640
758
|
};
|
759
|
+
} else {
|
760
|
+
return contentElement.pick('id');
|
641
761
|
}
|
642
|
-
},
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
762
|
+
})), _toConsumableArray(markedForDeletion.map(function (contentElement) {
|
763
|
+
return {
|
764
|
+
id: contentElement.id,
|
765
|
+
_delete: true
|
766
|
+
};
|
767
|
+
})));
|
768
|
+
} // Functionality to apply the recorded changes to the underlying
|
769
|
+
// section once the request succeeded:
|
770
|
+
|
771
|
+
|
772
|
+
function applyAdditions(response) {
|
773
|
+
contentElements.forEach(function (contentElement, index) {
|
774
|
+
if (contentElement.isNew()) {
|
775
|
+
section.contentElements.add(contentElement);
|
776
|
+
contentElement.set({
|
777
|
+
id: response[index].id,
|
778
|
+
permaId: response[index].permaId
|
779
|
+
});
|
780
|
+
} else if (contentElement.section !== section) {
|
781
|
+
contentElement.section.contentElements.remove(contentElement);
|
782
|
+
section.contentElements.add(contentElement);
|
783
|
+
}
|
784
|
+
});
|
785
|
+
}
|
786
|
+
|
787
|
+
function applyDeletions() {
|
788
|
+
markedForDeletion.forEach(function (contentElement) {
|
789
|
+
return entry.contentElements.remove(contentElement);
|
790
|
+
});
|
791
|
+
}
|
792
|
+
|
793
|
+
function applyPositions() {
|
794
|
+
contentElements.forEach(function (contentElement, index) {
|
795
|
+
return contentElement.set('position', index, {
|
649
796
|
autoSave: false
|
650
797
|
});
|
651
|
-
}
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
798
|
+
});
|
799
|
+
}
|
800
|
+
|
801
|
+
function applyConfigurationChanges() {
|
802
|
+
contentElements.forEach(function (contentElement) {
|
803
|
+
if (changedConfigurations[contentElement.id]) {
|
804
|
+
contentElement.configuration.set(changedConfigurations[contentElement.id], {
|
805
|
+
autoSave: false
|
806
|
+
});
|
807
|
+
}
|
808
|
+
});
|
809
|
+
}
|
656
810
|
}
|
657
811
|
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
812
|
+
// element (e.g. between two paragraphs of a text block).
|
813
|
+
|
814
|
+
function insertContentElement(entry, sibling, attributes, _ref) {
|
815
|
+
var at = _ref.at,
|
816
|
+
splitPoint = _ref.splitPoint;
|
817
|
+
var batch = new Batch(entry, sibling.section);
|
818
|
+
|
819
|
+
if (at === 'split') {
|
820
|
+
batch.split(sibling, splitPoint, {
|
821
|
+
insertAt: 'after'
|
822
|
+
});
|
823
|
+
}
|
824
|
+
|
825
|
+
var contentElement = new ContentElement(attributes);
|
662
826
|
contentElement.applyDefaultConfiguration(sibling);
|
663
|
-
|
664
|
-
|
665
|
-
|
827
|
+
|
828
|
+
if (at === 'before') {
|
829
|
+
batch.insertBefore(sibling, contentElement);
|
830
|
+
} else {
|
831
|
+
batch.insertAfter(sibling, contentElement);
|
832
|
+
}
|
833
|
+
|
834
|
+
batch.save({
|
835
|
+
success: function success() {
|
666
836
|
entry.trigger('selectContentElement', contentElement);
|
667
|
-
},
|
668
|
-
rollback: function rollback() {
|
669
|
-
entry.contentElements.remove(contentElement);
|
670
837
|
}
|
671
838
|
});
|
672
839
|
}
|
673
840
|
|
674
|
-
|
675
|
-
|
676
|
-
|
841
|
+
// moving content elements to "split points" inside content elements
|
842
|
+
// with custom split functions (e.g. between two paragraphs of a text
|
843
|
+
// block). Merge content elements of the same type that become
|
844
|
+
// adjacent by moving a content element away (e.g. two text blocks
|
845
|
+
// surrounding an image that is moved away).
|
846
|
+
|
847
|
+
function moveContentElement(entry, contentElement, sibling, at, splitPoint) {
|
848
|
+
var sourceBatch = new Batch(entry, contentElement.section); // If we move content elements between sections, merges will need to
|
849
|
+
// be performed in the section where the content element came from.
|
850
|
+
|
851
|
+
var targetBatch = sibling.section === contentElement.section ? sourceBatch : new Batch(entry, sibling.section);
|
852
|
+
|
853
|
+
if (at === 'split') {
|
854
|
+
// When moving a content element to a split point in the adjacent
|
855
|
+
// element below, insert split off element before sibling so that
|
856
|
+
// is can directly be merged again. For example, let X be a
|
857
|
+
// content element in between two text blocks T1 and T2:
|
858
|
+
//
|
859
|
+
// T1
|
860
|
+
// paragraph A
|
861
|
+
// X
|
862
|
+
// T2
|
863
|
+
// paragraph B
|
864
|
+
// paragraph C
|
865
|
+
//
|
866
|
+
// When X shall be moved between the two paragraphs of T2, we want
|
867
|
+
// to split off the first paragraph of T2 into a new content
|
868
|
+
// element T3 and move X:
|
869
|
+
//
|
870
|
+
// T1
|
871
|
+
// T1 paragraph A
|
872
|
+
// X
|
873
|
+
// T3
|
874
|
+
// T1 paragraph B
|
875
|
+
// T2
|
876
|
+
// T2 paragraph C
|
877
|
+
//
|
878
|
+
// T3 becomes the new sibling that we want to move X after:
|
879
|
+
//
|
880
|
+
// T1
|
881
|
+
// T1 paragraph A
|
882
|
+
// T3
|
883
|
+
// T1 paragraph B
|
884
|
+
// X
|
885
|
+
// T2
|
886
|
+
// T2 paragraph C
|
887
|
+
//
|
888
|
+
// When we later merge T1 and T3, T1 will be updated making T3
|
889
|
+
// disappear again without ever persisting it to the server:
|
890
|
+
//
|
891
|
+
// T1
|
892
|
+
// T1 paragraph A
|
893
|
+
// T1 paragraph B
|
894
|
+
// X
|
895
|
+
// T2
|
896
|
+
// T2 paragraph C
|
897
|
+
//
|
898
|
+
if (sourceBatch.getAdjacent(contentElement)[1] === sibling) {
|
899
|
+
sibling = targetBatch.split(sibling, splitPoint, {
|
900
|
+
insertAt: 'before'
|
901
|
+
});
|
902
|
+
} else {
|
903
|
+
targetBatch.split(sibling, splitPoint);
|
904
|
+
}
|
905
|
+
}
|
677
906
|
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
if
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
907
|
+
var _sourceBatch$getAdjac = sourceBatch.getAdjacent(contentElement),
|
908
|
+
_sourceBatch$getAdjac2 = _slicedToArray(_sourceBatch$getAdjac, 2),
|
909
|
+
before = _sourceBatch$getAdjac2[0],
|
910
|
+
after = _sourceBatch$getAdjac2[1]; // Check if element was dragged to same position where it came from.
|
911
|
+
|
912
|
+
|
913
|
+
if (!(at === 'before' && sibling === after) && !(at === 'after' && sibling === before)) {
|
914
|
+
sourceBatch.remove(contentElement);
|
915
|
+
|
916
|
+
if (at === 'before') {
|
917
|
+
targetBatch.insertBefore(sibling, contentElement);
|
918
|
+
} else {
|
919
|
+
targetBatch.insertAfter(sibling, contentElement);
|
690
920
|
}
|
691
|
-
});
|
692
|
-
}
|
693
921
|
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
after = _deletedContentElemen2[1];
|
922
|
+
sourceBatch.maybeMerge(before, after);
|
923
|
+
} // Dragging an element next to a sticky element, shall make the
|
924
|
+
// moved element sticky as well.
|
925
|
+
|
699
926
|
|
700
|
-
|
701
|
-
|
927
|
+
copyPositionIfAvailable(targetBatch, contentElement, sibling);
|
928
|
+
targetBatch.saveIfDirty();
|
929
|
+
sourceBatch.saveIfDirty();
|
930
|
+
}
|
931
|
+
|
932
|
+
function copyPositionIfAvailable(batch, contentElement, sibling) {
|
933
|
+
if (contentElement.getPosition() !== sibling.getPosition() && contentElement.getAvailablePositions().includes(sibling.getPosition())) {
|
934
|
+
batch.markForUpdate(contentElement, _objectSpread2(_objectSpread2({}, contentElement.configuration.toJSON), {}, {
|
935
|
+
position: sibling.getPosition()
|
936
|
+
}));
|
702
937
|
}
|
938
|
+
}
|
703
939
|
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
},
|
719
|
-
complete: function complete() {
|
720
|
-
before.configuration.set(mergedConfiguration, {
|
721
|
-
autoSave: false
|
722
|
-
});
|
723
|
-
entry.contentElements.remove(after);
|
724
|
-
}
|
725
|
-
});
|
940
|
+
// (e.g. two text blocks surrounding a deleted image).
|
941
|
+
|
942
|
+
function deleteContentElement(entry, contentElement) {
|
943
|
+
var batch = new Batch(entry, contentElement.section);
|
944
|
+
|
945
|
+
var _batch$getAdjacent = batch.getAdjacent(contentElement),
|
946
|
+
_batch$getAdjacent2 = _slicedToArray(_batch$getAdjacent, 2),
|
947
|
+
before = _batch$getAdjacent2[0],
|
948
|
+
after = _batch$getAdjacent2[1];
|
949
|
+
|
950
|
+
batch.remove(contentElement);
|
951
|
+
batch.markForDeletion(contentElement);
|
952
|
+
batch.maybeMerge(before, after);
|
953
|
+
batch.save();
|
726
954
|
}
|
727
955
|
|
728
956
|
var ScrolledEntry = Entry.extend({
|
@@ -761,9 +989,12 @@ var ScrolledEntry = Entry.extend({
|
|
761
989
|
splitPoint = _ref.splitPoint;
|
762
990
|
|
763
991
|
if (at === 'endOfSection') {
|
764
|
-
var contentElement =
|
992
|
+
var contentElement = new ContentElement(_objectSpread2({
|
765
993
|
position: this.contentElements.length
|
766
994
|
}, attributes));
|
995
|
+
contentElement.applyDefaultConfiguration();
|
996
|
+
this.sections.get(id).contentElements.add(contentElement);
|
997
|
+
contentElement.save();
|
767
998
|
contentElement.once('sync', function () {
|
768
999
|
_this.trigger('selectContentElement', contentElement);
|
769
1000
|
});
|
@@ -775,6 +1006,13 @@ var ScrolledEntry = Entry.extend({
|
|
775
1006
|
});
|
776
1007
|
}
|
777
1008
|
},
|
1009
|
+
moveContentElement: function moveContentElement$1(movedContentElementId, _ref2) {
|
1010
|
+
var id = _ref2.id,
|
1011
|
+
at = _ref2.at,
|
1012
|
+
splitPoint = _ref2.splitPoint;
|
1013
|
+
|
1014
|
+
moveContentElement(this, this.contentElements.get(movedContentElementId), this.contentElements.get(id), at, splitPoint);
|
1015
|
+
},
|
778
1016
|
deleteContentElement: function deleteContentElement$1(id) {
|
779
1017
|
deleteContentElement(this, this.contentElements.get(id));
|
780
1018
|
}
|
@@ -930,7 +1168,7 @@ function getAttributes(model, _ref5) {
|
|
930
1168
|
var value = attributeName[key];
|
931
1169
|
|
932
1170
|
if (typeof value == 'function') {
|
933
|
-
result[key] = value();
|
1171
|
+
result[key] = value(model.get(key));
|
934
1172
|
} else {
|
935
1173
|
result[key] = model.get(value);
|
936
1174
|
}
|
@@ -946,8 +1184,15 @@ function getAttributes(model, _ref5) {
|
|
946
1184
|
}
|
947
1185
|
return result;
|
948
1186
|
}
|
1187
|
+
var createShallowEqualArraysSelector = createSelectorCreator(defaultMemoize, shallowEqualArrays);
|
949
1188
|
|
950
|
-
|
1189
|
+
function shallowEqualArrays(a, b) {
|
1190
|
+
return a.length === b.length && a.every(function (item, index) {
|
1191
|
+
return item === b[index];
|
1192
|
+
});
|
1193
|
+
}
|
1194
|
+
|
1195
|
+
var Context = createContext();
|
951
1196
|
|
952
1197
|
function watchCollections(entry, _ref) {
|
953
1198
|
var dispatch = _ref.dispatch;
|
@@ -999,7 +1244,13 @@ function watchCollections(entry, _ref) {
|
|
999
1244
|
permaId: 'perma_id'
|
1000
1245
|
}, 'width', 'height', 'basename', 'rights', {
|
1001
1246
|
isReady: 'is_ready'
|
1002
|
-
},
|
1247
|
+
}, {
|
1248
|
+
variants: function variants(_variants) {
|
1249
|
+
return _variants && _variants.map(function (variant) {
|
1250
|
+
return camelize(variant);
|
1251
|
+
});
|
1252
|
+
}
|
1253
|
+
}, {
|
1003
1254
|
durationInMs: 'duration_in_ms'
|
1004
1255
|
}, {
|
1005
1256
|
parentFileId: 'parent_file_id'
|
@@ -1290,12 +1541,12 @@ var PreviewMessageController = Object$1.extend({
|
|
1290
1541
|
handleMessage: function handleMessage(message) {
|
1291
1542
|
var _this = this;
|
1292
1543
|
|
1544
|
+
var postMessage = function postMessage(message) {
|
1545
|
+
_this.iframeWindow.postMessage(message, window.location.origin);
|
1546
|
+
};
|
1547
|
+
|
1293
1548
|
if (window.location.href.indexOf(message.origin) === 0) {
|
1294
1549
|
if (message.data.type === 'READY') {
|
1295
|
-
var postMessage = function postMessage(message) {
|
1296
|
-
_this.iframeWindow.postMessage(message, window.location.origin);
|
1297
|
-
};
|
1298
|
-
|
1299
1550
|
watchCollections(this.entry, {
|
1300
1551
|
dispatch: function dispatch(action) {
|
1301
1552
|
postMessage({
|
@@ -1401,20 +1652,39 @@ var PreviewMessageController = Object$1.extend({
|
|
1401
1652
|
},
|
1402
1653
|
editor: this.editor
|
1403
1654
|
});
|
1404
|
-
} else if (message.data.type === '
|
1655
|
+
} else if (message.data.type === 'MOVE_CONTENT_ELEMENT') {
|
1405
1656
|
var _message$data$payload3 = message.data.payload,
|
1406
1657
|
_id2 = _message$data$payload3.id,
|
1407
|
-
|
1408
|
-
this.entry.
|
1658
|
+
to = _message$data$payload3.to;
|
1659
|
+
this.entry.moveContentElement(_id2, to);
|
1660
|
+
} else if (message.data.type === 'UPDATE_CONTENT_ELEMENT') {
|
1661
|
+
var _message$data$payload4 = message.data.payload,
|
1662
|
+
_id3 = _message$data$payload4.id,
|
1663
|
+
configuration = _message$data$payload4.configuration;
|
1664
|
+
this.entry.contentElements.get(_id3).configuration.set(configuration, {
|
1409
1665
|
ignoreInWatchCollection: true
|
1410
1666
|
});
|
1411
1667
|
} else if (message.data.type === 'UPDATE_TRANSIENT_CONTENT_ELEMENT_STATE') {
|
1412
|
-
var _message$data$
|
1413
|
-
|
1414
|
-
state = _message$data$
|
1415
|
-
this.entry.contentElements.get(
|
1668
|
+
var _message$data$payload5 = message.data.payload,
|
1669
|
+
_id4 = _message$data$payload5.id,
|
1670
|
+
state = _message$data$payload5.state;
|
1671
|
+
this.entry.contentElements.get(_id4).set('transientState', state);
|
1672
|
+
} else if (message.data.type === 'SAVED_SCROLL_POINT' && this.currentScrollPointCallback) {
|
1673
|
+
this.currentScrollPointCallback();
|
1674
|
+
this.currentScrollPointCallback = null;
|
1675
|
+
setTimeout(function () {
|
1676
|
+
return postMessage({
|
1677
|
+
type: 'RESTORE_SCROLL_POINT'
|
1678
|
+
});
|
1679
|
+
}, 100);
|
1416
1680
|
}
|
1417
1681
|
}
|
1682
|
+
},
|
1683
|
+
preserveScrollPoint: function preserveScrollPoint(callback) {
|
1684
|
+
this.currentScrollPointCallback = callback;
|
1685
|
+
this.iframeWindow.postMessage({
|
1686
|
+
type: 'SAVE_SCROLL_POINT'
|
1687
|
+
}, window.location.origin);
|
1418
1688
|
}
|
1419
1689
|
});
|
1420
1690
|
|
@@ -1466,13 +1736,17 @@ var EntryPreviewView = Marionette.ItemView.extend({
|
|
1466
1736
|
this.messageController.dispose();
|
1467
1737
|
},
|
1468
1738
|
updateEmulationMode: function updateEmulationMode() {
|
1469
|
-
|
1470
|
-
this.$el.removeClass(styles$5[this.emulationModeClassName(this.model.previous('emulation_mode'))]);
|
1471
|
-
}
|
1739
|
+
var _this = this;
|
1472
1740
|
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1741
|
+
this.messageController.preserveScrollPoint(function () {
|
1742
|
+
if (_this.model.previous('emulation_mode')) {
|
1743
|
+
_this.$el.removeClass(styles$5[_this.emulationModeClassName(_this.model.previous('emulation_mode'))]);
|
1744
|
+
}
|
1745
|
+
|
1746
|
+
if (_this.model.get('emulation_mode')) {
|
1747
|
+
_this.$el.addClass(styles$5[_this.emulationModeClassName(_this.model.get('emulation_mode'))]);
|
1748
|
+
}
|
1749
|
+
});
|
1476
1750
|
},
|
1477
1751
|
emulationModeClassName: function emulationModeClassName(mode) {
|
1478
1752
|
return "".concat(mode, "EmulationMode");
|
@@ -1522,6 +1796,10 @@ var EditChapterView = EditConfigurationView.extend({
|
|
1522
1796
|
}
|
1523
1797
|
});
|
1524
1798
|
|
1799
|
+
function _toArray(arr) {
|
1800
|
+
return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
|
1801
|
+
}
|
1802
|
+
|
1525
1803
|
var css$8 = ".imgareaselect-border1,\n.imgareaselect-border2,\n.imgareaselect-border3,\n.imgareaselect-border4 {\n opacity: 0.5;\n}\n\n.imgareaselect-handle {\n background-color: #fff;\n border: solid 1px #000;\n opacity: 0.5;\n}\n\n.imgareaselect-outer {\n background-color: #000;\n opacity: 0.5;\n}\n";
|
1526
1804
|
styleInject(css$8);
|
1527
1805
|
|
@@ -1604,6 +1882,9 @@ styleInject(css$8);
|
|
1604
1882
|
/* Image dimensions (as returned by .width() and .height()) */
|
1605
1883
|
imgWidth,
|
1606
1884
|
imgHeight,
|
1885
|
+
gridX,
|
1886
|
+
gridY,
|
1887
|
+
gridSteps = 20,
|
1607
1888
|
|
1608
1889
|
/*
|
1609
1890
|
* jQuery object representing the parent element that the plugin
|
@@ -1836,11 +2117,20 @@ styleInject(css$8);
|
|
1836
2117
|
minHeight = round(options.minHeight / scaleY) || 0;
|
1837
2118
|
maxWidth = round(min(options.maxWidth / scaleX || 1 << 24, imgWidth));
|
1838
2119
|
maxHeight = round(min(options.maxHeight / scaleY || 1 << 24, imgHeight));
|
2120
|
+
|
2121
|
+
if (imgWidth > imgHeight) {
|
2122
|
+
gridX = imgWidth / gridSteps;
|
2123
|
+
gridY = imgHeight < gridX ? imgHeight : gridX + imgHeight % gridX / Math.floor(imgHeight / gridX);
|
2124
|
+
} else {
|
2125
|
+
gridY = imgHeight / gridSteps;
|
2126
|
+
gridX = imgWidth < gridY ? imgWidth : gridY + imgWidth % gridY / Math.floor(imgWidth / gridY);
|
2127
|
+
}
|
1839
2128
|
/*
|
1840
2129
|
* Workaround for jQuery 1.3.2 incorrect offset calculation, originally
|
1841
2130
|
* observed in Safari 3. Firefox 2 is also affected.
|
1842
2131
|
*/
|
1843
2132
|
|
2133
|
+
|
1844
2134
|
if ($().jquery == '1.3.2' && position == 'fixed' && !docElem['getBoundingClientRect']) {
|
1845
2135
|
imgOfs.top += max(document.body.scrollTop, docElem.scrollTop);
|
1846
2136
|
imgOfs.left += max(document.body.scrollLeft, docElem.scrollLeft);
|
@@ -2168,6 +2458,7 @@ styleInject(css$8);
|
|
2168
2458
|
fixAspectRatio(true);
|
2169
2459
|
}
|
2170
2460
|
|
2461
|
+
snapToGrid();
|
2171
2462
|
selection = {
|
2172
2463
|
x1: selX(min(x1, x2)),
|
2173
2464
|
x2: selX(max(x1, x2)),
|
@@ -2203,8 +2494,11 @@ styleInject(css$8);
|
|
2203
2494
|
|
2204
2495
|
|
2205
2496
|
function doMove(newX1, newY1) {
|
2206
|
-
|
2207
|
-
|
2497
|
+
x1 = newX1;
|
2498
|
+
y1 = newY1;
|
2499
|
+
snapToGrid();
|
2500
|
+
x2 = x1 + selection.width;
|
2501
|
+
y2 = y1 + selection.height;
|
2208
2502
|
$.extend(selection, {
|
2209
2503
|
x1: selX(x1),
|
2210
2504
|
y1: selY(y1),
|
@@ -2213,6 +2507,13 @@ styleInject(css$8);
|
|
2213
2507
|
});
|
2214
2508
|
update();
|
2215
2509
|
options.onSelectChange(img, getSelection());
|
2510
|
+
}
|
2511
|
+
|
2512
|
+
function snapToGrid() {
|
2513
|
+
x1 = Math.round(x1 / gridX) * gridX;
|
2514
|
+
x2 = Math.round(x2 / gridX) * gridX;
|
2515
|
+
y1 = Math.round(y1 / gridY) * gridY;
|
2516
|
+
y2 = Math.round(y2 / gridY) * gridY;
|
2216
2517
|
} //
|
2217
2518
|
// Mousemove event handler triggered when the selection area is being moved
|
2218
2519
|
//
|
@@ -2764,7 +3065,7 @@ styleInject(css$8);
|
|
2764
3065
|
};
|
2765
3066
|
})($);
|
2766
3067
|
|
2767
|
-
var css$9 = ".icons-module_icon__16IVx::before,\n.icons-module_icon__16IVx::after {\n font-family: \"entypo\";\n}.icons-module_arrowsCcw__3_nrJ,\n.icons-module_attention__1sssG,\n.icons-module_cancel__1PjiX,\n.icons-module_check__3Lkw9,\n.icons-module_drag__p7HUE,\n.icons-module_helpCircled__D_oKU,\n.icons-module_plusCircled__20FlJ,\n.icons-module_rightOpen__9vsOG,\n.icons-module_trash__DH1EH {\n}.icons-module_arrowsCcw__3_nrJ::before {\n content: \"\\1F504\";\n}.icons-module_attention__1sssG::before {\n content: \"\\26A0\";\n}.icons-module_cancel__1PjiX::before {\n content: \"\\2715\";\n}.icons-module_check__3Lkw9::before {\n content: \"\\2713\";\n}.icons-module_drag__p7HUE {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n line-height: 10px;\n}.icons-module_drag__p7HUE::before {\n content: \"\\E75F\";\n}.icons-module_drag__p7HUE::after {\n content: \"\\E75C\";\n}.icons-module_helpCircled__D_oKU::before {\n content: \"\\E704\";\n}.icons-module_plusCircled__20FlJ::before {\n content: \"\\2795\";\n}.icons-module_rightOpen__9vsOG::before {\n content: \"\\E75E\"\n}.icons-module_trash__DH1EH::before {\n content: \"\\E729\";\n}.icons-module_chrome__1XHpi {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTM0LDI0YzAsNS41MjEtNC40NzksMTAtMTAsMTBzLTEwLTQuNDc5LTEwLTEwczQuNDc5LTEwLDEwLTEwUzM0LDE4LjQ3OSwzNCwyNHoiLz48bGluZWFyR3JhZGllbnQgaWQ9IlBheDhKY25Neml2dThmflNafmsxeWEiIHgxPSI1Ljc4OSIgeDI9IjMxLjMyNCIgeTE9IjM0LjM1NiIgeTI9IjIwLjc3OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDUwKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzRjYWY1MCIvPjxzdG9wIG9mZnNldD0iLjQ4OSIgc3RvcC1jb2xvcj0iIzRhYWY1MCIvPjxzdG9wIG9mZnNldD0iLjY2NSIgc3RvcC1jb2xvcj0iIzQzYWQ1MCIvPjxzdG9wIG9mZnNldD0iLjc5IiBzdG9wLWNvbG9yPSIjMzhhYTUwIi8+PHN0b3Agb2Zmc2V0PSIuODkyIiBzdG9wLWNvbG9yPSIjMjdhNTUwIi8+PHN0b3Agb2Zmc2V0PSIuOTc4IiBzdG9wLWNvbG9yPSIjMTFhMDUwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMGE5ZTUwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWEpIiBkPSJNMzEuMzMsMjkuMjFsLTguMTYsMTQuNzdDMTIuNTEsNDMuNTUsNCwzNC43Niw0LDI0QzQsMTIuOTYsMTIuOTYsNCwyNCw0djExIGMtNC45NywwLTksNC4wMy05LDlzNC4wMyw5LDksOUMyNy4wMywzMywyOS43LDMxLjUxLDMxLjMzLDI5LjIxeiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iUGF4OEpjbk16aXZ1OGZ+U1p+azF5YiIgeDE9IjMzLjU4IiB4Mj0iMzMuNTgiIHkxPSI2IiB5Mj0iMzQuNzk3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNTApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZkNzQ3Ii8+PHN0b3Agb2Zmc2V0PSIuNDgyIiBzdG9wLWNvbG9yPSIjZmZkNjQ1Ii8+PHN0b3Agb2Zmc2V0PSIuNjU1IiBzdG9wLWNvbG9yPSIjZmVkNDNlIi8+PHN0b3Agb2Zmc2V0PSIuNzc5IiBzdG9wLWNvbG9yPSIjZmNjZjMzIi8+PHN0b3Agb2Zmc2V0PSIuODc5IiBzdG9wLWNvbG9yPSIjZmFjOTIyIi8+PHN0b3Agb2Zmc2V0PSIuOTY0IiBzdG9wLWNvbG9yPSIjZjdjMTBjIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjViYzAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWIpIiBkPSJNNDQsMjRjMCwxMS4wNS04Ljk1LDIwLTIwLDIwaC0wLjg0bDguMTctMTQuNzlDMzIuMzgsMjcuNzQsMzMsMjUuOTQsMzMsMjQgYzAtNC45Ny00LjAzLTktOS05VjRjNy44MSwwLDE0LjU1LDQuNDgsMTcuODUsMTFDNDMuMjEsMTcuNzEsNDQsMjAuNzYsNDQsMjR6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJQYXg4SmNuTXppdnU4Zn5TWn5rMXljIiB4MT0iMzYuMTI4IiB4Mj0iMTEuNTc0IiB5MT0iNDQuMjk3IiB5Mj0iMjguOTU0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNTApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjc1NzJmIi8+PHN0b3Agb2Zmc2V0PSIuNTIzIiBzdG9wLWNvbG9yPSIjZjc1NTJkIi8+PHN0b3Agb2Zmc2V0PSIuNzEyIiBzdG9wLWNvbG9yPSIjZjc1MDI2Ii8+PHN0b3Agb2Zmc2V0PSIuODQ2IiBzdG9wLWNvbG9yPSIjZjc0NjFiIi8+PHN0b3Agb2Zmc2V0PSIuOTU0IiBzdG9wLWNvbG9yPSIjZjczOTBhIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjczMTAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWMpIiBkPSJNNDEuODQsMTVIMjRjLTQuOTcsMC05LDQuMDMtOSw5YzAsMS40OSwwLjM2LDIuODksMS4wMSw0LjEzSDE2TDcuMTYsMTMuMjZINy4xNCBDMTAuNjgsNy42OSwxNi45MSw0LDI0LDRDMzEuOCw0LDM4LjU1LDguNDgsNDEuODQsMTV6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJQYXg4SmNuTXppdnU4Zn5TWn5rMXlkIiB4MT0iMTkuMDUiIHgyPSIyOC45NSIgeTE9IjMwLjk1IiB5Mj0iMjEuMDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA1MCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMyYWE0ZjQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDdhZDkiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGZpbGw9InVybCgjUGF4OEpjbk16aXZ1OGZ+U1p+azF5ZCkiIGQ9Ik0zMSwyNGMwLDMuODY3LTMuMTMzLDctNyw3cy03LTMuMTMzLTctN3MzLjEzMy03LDctN1MzMSwyMC4xMzMsMzEsMjR6Ii8+PC9zdmc+); \n}.icons-module_edge__2KQ9q {\n background: url(data:image/png;base64,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);\n}.icons-module_firefox__22UR1 {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iIzAxNTc5QiIgZD0iTTI0IDVBMTkgMTkgMCAxIDAgMjQgNDNBMTkgMTkgMCAxIDAgMjQgNVoiLz48cGF0aCBmaWxsPSIjMDI3N0JEIiBkPSJNMzQsMjAuOGMwLTAuNiwwLTIuOS0xLjUtNC43Yy0wLjEtMC4xLTAuMi0wLjMtMC4yLTAuNGMtMC4xLTAuMS0wLjEtMC4yLTAuMi0wLjRMMzEuOSwxNWwtMC4yLTAuM2MtMC4yLTAuMy0wLjMtMC41LTAuMy0wLjVjLTAuNC0wLjYtMC41LTEuNC0wLjEtMi4xYzAuMS0wLjIsMC4zLTAuNCwwLjQtMC42Yy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuMmMwLDAsMCwwLTAuMSwwYy0wLjMtMC4yLTAuNi0wLjQtMC44LTAuNmwtMC43LTAuNWwwLDBDMjkuMyw5LjksMjksOS44LDI5LDkuN2MtMC43LTAuNC0xLjEtMS4xLTEtMS45YzAuMS0wLjgsMC42LTEuNSwxLjQtMS43YzAuMSwwLDAuMy0wLjEsMC41LTAuMWMwLDAsMCwwLTAuMS0wLjFDMjgsNS4zLDI2LDUsMjQsNUMxNi42LDUsMTAuMSw5LjMsNywxNS41YzAsMC4yLDAsMC4zLDAsMC41YzAsNy4yLDYuMywxMywxNCwxM0MyNi45LDI5LDMxLjksMjUuNiwzNCwyMC44eiIvPjxwYXRoIGZpbGw9IiNGRkYxNzYiIGQ9Ik0zMCw4YzAsMCwwLjMtMC4xLDAuOS0wLjFjMC4zLDAsMC42LDAsMSwwYzAuNCwwLDAuOCwwLjEsMS4zLDAuMmMwLjUsMC4xLDEsMC4zLDEuNSwwLjVjMC41LDAuMiwxLjEsMC41LDEuNiwwLjljMC41LDAuMywxLDAuOCwxLjUsMS4yYzAuNSwwLjQsMC45LDEsMS4zLDEuNWMwLjMsMC42LDAuNywxLjEsMSwxLjdjMC4zLDAuNiwwLjUsMS4yLDAuNywxLjhjMC4yLDAuNiwwLjMsMS4yLDAuNCwxLjdjMC4xLDAuNiwwLjEsMS4xLDAuMSwxLjVjMCwwLjIsMCwwLjUsMCwwLjdjMCwwLjIsMCwwLjQtMC4xLDAuNmMwLDAuNC0wLjEsMC43LTAuMSwxQzQxLjEsMjEuNyw0MSwyMiw0MSwyMnMtMC4yLTAuMy0wLjQtMC44Yy0wLjEtMC4yLTAuMy0wLjUtMC40LTAuOWMtMC4xLTAuMy0wLjMtMC43LTAuNS0xLjFjLTAuMi0wLjQtMC40LTAuOC0wLjYtMS4zYy0wLjItMC40LTAuNS0wLjktMC43LTEuNGMtMC4yLTAuNS0wLjUtMC45LTAuOC0xLjRjLTAuMy0wLjUtMC42LTAuOS0wLjktMS4zYy0wLjMtMC40LTAuNi0wLjktMS0xLjJjLTAuNC0wLjQtMC43LTAuOC0xLjEtMS4xYy0wLjMtMC40LTAuNy0wLjctMS4xLTFjLTAuNC0wLjMtMC43LTAuNi0xLjEtMC44Yy0wLjMtMC4zLTAuNy0wLjUtMS0wLjdjLTAuMy0wLjItMC42LTAuNC0wLjgtMC41QzMwLjMsOC4yLDMwLDgsMzAsOHoiLz48cGF0aCBmaWxsPSIjRkREODM1IiBkPSJNNDMuMSwxNy42Yy0wLjMtMi4yLTEuMi00LjItMi4yLTUuNmMtMC41LTAuNy0xLTEuMi0xLjMtMS41QzM5LjIsMTAuMiwzOSwxMCwzOSwxMHMwLDAuMywwLjEsMC44YzAuMSwwLjUsMC4xLDEuMSwwLjIsMS45YzAuMSwwLjQsMC4xLDAuOCwwLjIsMS4yYy0wLjQtMC42LTAuOS0xLjItMS40LTEuNmMtMC41LTAuNS0xLjEtMC44LTEuNC0xQzM2LjIsMTEuMSwzNiwxMSwzNiwxMXMwLjEsMC4yLDAuMiwwLjZjMC4xLDAuNCwwLjMsMC45LDAuNSwxLjZjMC4yLDAuNywwLjUsMS42LDAuOCwyLjVjLTAuNi0wLjctMS4yLTEuMy0xLjgtMS43Yy0wLjctMC40LTEuMy0wLjctMS44LTAuOEMzMy4zLDEzLDMzLDEzLDMzLDEzczAuMiwwLjIsMC40LDAuNmMwLjEsMC4yLDAuMywwLjQsMC40LDAuN2MwLjIsMC4zLDAuMywwLjYsMC41LDAuOWMwLjMsMC42LDAuNywxLjMsMSwyLjFjMC4yLDAuNCwwLjMsMC44LDAuNSwxLjJjMC4xLDAuNCwwLjQsMC44LDAuNSwxLjNjMC4yLDAuNCwwLjMsMC44LDAuNSwxLjNjMC4xLDAuNCwwLjMsMC44LDAuNCwxLjNjMC4xLDAuNCwwLjMsMC44LDAuNCwxLjJjMC4xLDAuNCwwLjIsMC44LDAuNCwxLjFjMC4zLDAuNywwLjUsMS4zLDAuNywxLjdDMzguOSwyNi44LDM5LDI3LDM5LDI3czAuMS0wLjIsMC4zLTAuN2MwLjEtMC4yLDAuMi0wLjUsMC4yLTAuOGMwLjEtMC4zLDAuMi0wLjcsMC4yLTEuMWMwLTAuMywwLjEtMC42LDAuMS0wLjlDMzkuOSwyMy44LDQwLDI0LDQwLDI0czAuMS0wLjIsMC4zLTAuNmMwLjEtMC4yLDAuMi0wLjQsMC4zLTAuN2MwLDAsMC0wLjEsMC0wLjFjMCwwLjIsMCwwLjUsMC4xLDAuN2MwLDAuNCwwLjEsMC43LDAuMSwxYzAsMC4zLDAsMC42LDAsMC45YzAsMC41LDAuMSwwLjgsMC4xLDAuOHMwLjItMC4yLDAuNS0wLjZjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjdjMC4yLTAuMywwLjMtMC42LDAuNS0xYzAuMi0wLjQsMC4zLTAuOCwwLjQtMS4zYzAuMS0wLjUsMC4yLTEsMC4zLTEuNWMwLjEtMC41LDAuMS0xLjEsMC4xLTEuNkM0My4zLDE4LjcsNDMuMiwxOC4xLDQzLjEsMTcuNnoiLz48cGF0aCBmaWxsPSIjRkZCMzAwIiBkPSJNNDQuMSwxOS44QzQ0LjEsMTkuMyw0NCwxOSw0NCwxOXMtMC4yLDAuMy0wLjUsMC43Yy0wLjMsMC41LTAuNiwxLjEtMSwxLjljLTAuMywwLjctMC43LDEuNS0xLjEsMi4zYzAtMC44LDAtMS41LTAuMS0yLjJjLTAuMS0wLjYtMC4yLTEuMS0wLjMtMS42Yy0wLjItMC41LTAuMy0xLTAuNS0xLjRjLTAuMy0wLjktMC43LTEuNS0xLTJDMzkuMiwxNi4yLDM5LDE2LDM5LDE2cy0wLjEsMS4yLTAuMSwzYzAsMC45LTAuMSwxLjgtMC4yLDIuOWMwLDAuNS0wLjEsMS0wLjEsMS42YzAsMC41LTAuMSwxLjEtMC4yLDEuNmMwLDAuMSwwLDAuMywwLDAuNGMtMC4xLTAuOS0wLjQtMS44LTAuOC0yLjRjLTAuMy0wLjctMC43LTEuMi0xLTEuNUMzNi4yLDIxLjEsMzYsMjEsMzYsMjFzMCwwLjMsMCwwLjdjMCwwLjQsMCwxLTAuMSwxLjdjLTAuMSwxLjMtMC4zLDMtMC41LDQuNmMtMC4xLDAuNC0wLjIsMC44LTAuMiwxLjJjLTAuMSwwLjQtMC4yLDAuOC0wLjIsMS4yYy0wLjEsMC40LTAuMiwwLjgtMC4zLDEuMWMtMC4xLDAuNC0wLjIsMC43LTAuMiwxYy0wLjEsMC4zLTAuMSwwLjctMC4yLDAuOWMtMC4xLDAuMy0wLjEsMC41LTAuMiwwLjhDMzQsMzQuNywzNCwzNSwzNCwzNXMwLjItMC4xLDAuNi0wLjRjMC40LTAuMywwLjktMC42LDEuNC0xLjJjMC4yLTAuMywwLjUtMC42LDAuOC0xYzAuMi0wLjQsMC41LTAuNywwLjctMS4xYzAsMC4zLTAuMSwwLjYtMC4xLDAuOWMtMC4xLDAuMy0wLjEsMC43LTAuMiwwLjlDMzcsMzMuNywzNywzNCwzNywzNGMwLjEtMC4xLDAuNCwwLDAuNywwLjFjMCwwLjEtMC4xLDAuMi0wLjEsMC4yYy0wLjEsMC4zLTAuMiwwLjYtMC4zLDAuOUMzNy4xLDM1LjcsMzcsMzYsMzcsMzZzMC4zLTAuMSwwLjctMC40YzAuMi0wLjIsMC41LTAuMywwLjgtMC42YzAuMy0wLjIsMC42LTAuNSwwLjktMC45YzAuMy0wLjMsMC42LTAuNywxLTEuMWMwLjMtMC40LDAuNi0wLjksMC45LTEuNGMwLjYtMSwxLjEtMi4xLDEuNS0zLjJjMC40LTEuMSwwLjgtMi4zLDEtMy40YzAuMi0xLjEsMC4zLTIuMSwwLjQtM0M0NC4yLDIxLjEsNDQuMiwyMC40LDQ0LjEsMTkuOHoiLz48cGF0aCBmaWxsPSIjRkY5ODAwIiBkPSJNNDEuNCwzMC40Yy0wLjQsMC4yLTAuOCwwLjYtMS40LDFjLTAuOCwwLjYtMS43LDEuNC0yLjYsMi4zYzAuMS0wLjMsMC4zLTAuNiwwLjQtMC45YzAuMy0wLjksMC40LTEuNywwLjUtMi40YzAtMC43LDAtMS4zLTAuMS0xLjdDMzguMSwyOC4yLDM4LDI4LDM4LDI4cy0wLjIsMC4yLTAuNCwwLjVjLTAuMiwwLjMtMC42LDAuOC0xLDEuM2MtMC40LDAuNS0wLjgsMS4yLTEuMiwxLjhjLTAuMSwwLjEtMC4xLDAuMi0wLjIsMC4zYzAuMi0wLjYsMC4yLTEuMywwLjItMS45YzAtMC44LTAuMi0xLjYtMC40LTIuMmMtMC4yLTAuNi0wLjUtMS4xLTAuNy0xLjRDMzQuMiwyNi4yLDM0LDI2LDM0LDI2cy0wLjEsMC4yLTAuMiwwLjZjLTAuMSwwLjMtMC4zLDAuOC0wLjUsMS40Yy0wLjIsMC41LTAuMywxLjEtMC41LDEuOGMtMC4xLDAuMy0wLjIsMC42LTAuMywxYy0wLjEsMC4zLTAuMiwwLjYtMC4zLDAuOGMtMS45LDEuOS00LjIsMi40LTYuNCwyLjVjLTEuMiwwLTIuMy0wLjItMy4zLTAuNWMwLDAsMCwwLDAsMGMwLDAsMCwwLDAsMGMtMS41LTAuNS0yLjktMS40LTQuMi0yLjZjMS45LDAuMiwzLjctMC4yLDUuMi0wLjlsMi41LTEuNmwwLDBjMC4zLTAuMSwwLjYtMC4xLDAuOSwwYzAuNi0wLjEsMC44LTAuNCwwLjYtMWMtMC4zLTAuNC0wLjgtMC44LTEuMy0xLjFjLTEuMy0wLjctMi42LTAuNi00LDAuM2MtMS4zLDAuNy0yLjUsMC42LTMuOC0wLjFjLTMuMS0xLjYtMS45LTUuNywxLjQtMy42YzAuMi0xLTAuMS0yLjEtMC43LTMuMmMwLDAsMCwwLDAsMGMtMi45LTUuMywwLjQtOS42LDEuNS0xMC4zYy0yLDAuMi0zLjgsMS4xLTUuNCwyLjZDNC45LDEwLjksNCwyMC45LDQsMjFsMS4yLTEuMWMtMC40LDEuMS0wLjcsMi4yLTAuOCwzLjRDNCwyNy4yLDUuMSwzMSw3LjcsMzQuOEMxMS43LDM5LjksMTgsNDMsMjQsNDNjNi44LDAsMTEuMi0yLjUsMTQuMS01LjdjMC4yLTAuMiwwLjQtMC40LDAuNi0wLjZjMC42LTAuNywxLjItMS40LDEuNy0yLjJjMC41LTAuNywwLjgtMS41LDEuMS0yLjJjMC4yLTAuNywwLjQtMS4zLDAuNS0xLjdDNDIsMzAuMyw0MiwzMCw0MiwzMFM0MS44LDMwLjEsNDEuNCwzMC40eiIvPjxwYXRoIGZpbGw9IiNFRjZDMDAiIGQ9Ik0xMiwyOGMtMC4yLTcsNC4zLTYuNCw2LjYtNS42QzE3LDIyLjEsMTYuMywyMy42LDE3LDI1QzE2LjcsMjUsMTMuNiwyNC43LDEyLDI4eiBNMTguMywzMC45YzEuOSwwLjIsMy43LTAuMiw1LjItMC45bDIuNS0xLjZsMCwwYzAuMi0wLjEsMC41LTAuMSwwLjcsMGwwLDBjLTIuOS0xLjctNiwxLjktMTIuOCwwLjhDMTUuNiwzMC41LDE4LjMsMzAuOSwxOC4zLDMwLjl6IE0xOC4xLDE0LjVjLTAuMiwxLjUsMC4xLDMuMywxLjEsNS4yYzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwQzIwLjYsMTguOSwyMiwxOCwyMiwxOHMyLTIsMC0yQzIwLjEsMTYsMTguOCwxNS4yLDE4LjEsMTQuNXogTTEwLjMsMTIuNEM5LjQsMTEuNiw4LDEwLDgsOGMwLDAtMi40LDMuOS0xLjUsN0M3LjQsMTMuOSw4LjcsMTMsMTAuMywxMi40eiIvPjxwYXRoIGZpbGw9IiNGRkNDODAiIGQ9Ik0xOS4yLDE5LjdDMTkuMiwxOS43LDE5LjIsMTkuNywxOS4yLDE5LjdDMTkuMiwxOS43LDE5LjIsMTkuNywxOS4yLDE5LjdDMjAuNiwxOC45LDIyLDE4LDIyLDE4czAuMi0wLjIsMC40LTAuNEwyMiwxN2gtMy44QzE4LjQsMTcuOSwxOC43LDE4LjgsMTkuMiwxOS43eiIvPjxwYXRoIGZpbGw9IiM1RDQwMzciIGQ9Ik0yMiwxNmMtMC4zLDAtMC42LDAtMC45LTAuMUwyMSwxNmMwLDAsMC44LDEuMywxLDJDMjIsMTgsMjQsMTYsMjIsMTZ6Ii8+PC9zdmc+);\n}.icons-module_safari__3nzsc {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iI2NmZDhkYyIgZD0iTTQ0LDI0YzAsMTEuMDQ0LTguOTU2LDIwLTIwLDIwUzQsMzUuMDQ0LDQsMjRTMTIuOTU2LDQsMjQsNFM0NCwxMi45NTYsNDQsMjR6Ii8+PHBhdGggZmlsbD0iIzQ0OGFmZiIgZD0iTTQxLDI0YzAsOS4zOTEtNy42MDksMTctMTcsMTdTNywzMy4zOTEsNywyNFMxNC42MDksNywyNCw3UzQxLDE0LjYwOSw0MSwyNHoiLz48cGF0aCBmaWxsPSIjZmYzZDAwIiBkPSJNMjEuODk4LDIxLjg5OGw0LjIwMyw0LjIwM2w5LjE5OS0xMy40MDJMMjEuODk4LDIxLjg5OHoiLz48cGF0aCBmaWxsPSIjYmYzNjBjIiBkPSJNMjQsMjRsMTEuMzAxLTExLjMwMWwtOS4xOTksMTMuNDAyTDI0LDI0eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yMS44OTgsMjEuODk4bC05LjE5OSwxMy40MDJsMTMuNDAyLTkuMTk5TDIxLjg5OCwyMS44OTh6Ii8+PHBhdGggZmlsbD0iI2JkYmRiZCIgZD0iTTI0LDI0TDEyLjY5OSwzNS4zMDFsMTMuNDAyLTkuMTk5TDI0LDI0eiIvPjxwYXRoIGZpbGw9IiNiYmRlZmIiIGQ9Ik0xNy4xMDIsMTAuNjk5YzAuNTk4LTAuMzAxLDEuMTk5LTAuNTk4LDEuNzk3LTAuODAxbDEuMjAzLDIuNzAzbC0xLjgwMSwwLjc5N0wxNy4xMDIsMTAuNjk5eiBNMzYsMjVoMi44OThjMC0wLjMwMSwwLjEwMi0wLjY5OSwwLjEwMi0xczAtMC42OTktMC4xMDItMUgzNlYyNXogTTEyLjY5OSwxNC4xMDJsMi4xMDIsMi4wOThsMS4zOTgtMS4zOThsLTIuMDk4LTIuMTAyQzEzLjYwMiwxMy4xOTksMTMuMTk5LDEzLjYwMiwxMi42OTksMTQuMTAyeiBNMjUsOS4xMDJDMjQuNjk5LDksMjQuMzAxLDksMjQsOXMtMC42OTksMC0xLDAuMTAyVjEyaDJWOS4xMDJ6IE0zMC4zOTgsMTAuNWMtMC41OTgtMC4zMDEtMS4xOTktMC41LTEuODk4LTAuNjk5bC0xLjEwMiwyLjgwMWwxLjkwMiwwLjY5OUwzMC4zOTgsMTAuNXogTTEyLjUsMjAuNWwwLjY5OS0xLjg5OEwxMC41LDE3LjVjLTAuMzAxLDAuNjAyLTAuNSwxLjE5OS0wLjY5OSwxLjg5OEwxMi41LDIwLjV6IE0xMiwyM0g5LjEwMkM5LDIzLjMwMSw5LDIzLjY5OSw5LDI0czAsMC42OTksMC4xMDIsMUgxMlYyM3ogTTM1LjUsMjcuNWwtMC42OTksMS44OThMMzcuNSwzMC41YzAuMzAxLTAuNjAyLDAuNS0xLjE5OSwwLjY5OS0xLjg5OEwzNS41LDI3LjV6IE0zOC4xMDIsMTguODk4Yy0wLjIwMy0wLjU5OC0wLjUtMS4xOTktMC44MDEtMS43OTdsLTIuNjk5LDEuMTk5bDAuNzk3LDEuODAxTDM4LjEwMiwxOC44OTh6IE0zNS4zMDEsMzMuODk4bC0yLjEwMi0yLjA5OGwtMS4zOTgsMS4zOThsMi4wOTgsMi4xMDJDMzQuMzk4LDM0LjgwMSwzNC44MDEsMzQuMzk4LDM1LjMwMSwzMy44OTh6IE0xMy4zOTgsMjkuNjk5bC0wLjc5Ny0xLjgwMWwtMi43MDMsMS4yMDNjMC4yMDMsMC41OTgsMC41LDEuMTk5LDAuODAxLDEuNzk3TDEzLjM5OCwyOS42OTl6IE0yOS42OTksMzQuNjAybC0xLjgwMSwwLjc5N2wxLjIwMywyLjcwM2MwLjU5OC0wLjIwMywxLjE5OS0wLjUsMS43OTctMC44MDFMMjkuNjk5LDM0LjYwMnogTTIwLjUsMzUuNWwtMS44OTgtMC42OTlMMTcuNSwzNy41YzAuNjAyLDAuMzAxLDEuMTk5LDAuNSwxLjg5OCwwLjY5OUwyMC41LDM1LjV6IE0yNSwzOC44OThWMzZoLTJ2Mi44OThjMC4zMDEsMCwwLjY5OSwwLjEwMiwxLDAuMTAyUzI0LjY5OSwzOSwyNSwzOC44OTh6Ii8+PC9zdmc+);\n}.buttons-module_primaryIconButton__KHPA9 {\n /* see app/assets/stylesheets/pageflow/editor/composable.scss */\n}.buttons-module_secondaryIconButton__4LT0V {\n /* see app/assets/stylesheets/pageflow/editor/composable.scss */\n}.buttons-module_unstyledButton__3m76W {\n border: 0;\n text-align: initial;\n}.buttons-module_addButton__2pN-g {\n}.buttons-module_cancelButton__1xJCN {\n}.buttons-module_saveButton__1M-qM {\n}\n\n.EditMotifAreaDialogView-module_box__1fwA5 {\n width: -webkit-min-content;\n width: -moz-min-content;\n width: min-content;\n min-height: 310px;\n min-width: 400px;\n}\n\n.EditMotifAreaDialogView-module_wrapper__2uBFA {\n display: flex;\n justify-content: center;\n}\n\n.EditMotifAreaDialogView-module_helpLink__1Dv5E {\n color: #005dc7;\n float: left;\n padding: 7px 0;\n}\n\n.EditMotifAreaDialogView-module_helpLink__1Dv5E::before {\n color: #a0c4e0;\n}\n\n.EditMotifAreaDialogView-module_thumbnail__dM9gN {\n position: relative;\n display: inline-block;\n}\n\n.EditMotifAreaDialogView-module_image__2-Iaj {\n display: block;\n height: calc(100vh - 200px);\n max-height: 600px;\n min-height: 200px;\n}\n\n.EditMotifAreaDialogView-module_blankSlate__3lvPl {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n background-color: rgba(0, 0, 0, 0.5);\n color: #fff;\n display: none;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\n\n.EditMotifAreaDialogView-module_blank__yAuNx .EditMotifAreaDialogView-module_blankSlate__3lvPl {\n display: flex;\n}\n\n.EditMotifAreaDialogView-module_reset__3YOxk {\n position: absolute;\n top: 5px;\n right: 5px;\n z-index: 10;\n padding: 5px;\n background-color: #000;\n color: #fff;\n border: solid 1px #fff;\n border-radius: 3px;\n}\n\n.EditMotifAreaDialogView-module_blank__yAuNx .EditMotifAreaDialogView-module_reset__3YOxk {\n display: none;\n}\n\n.EditMotifAreaDialogView-module_dragging__1Cx0- .EditMotifAreaDialogView-module_reset__3YOxk,\n.EditMotifAreaDialogView-module_dragging__1Cx0- .EditMotifAreaDialogView-module_blankSlate__3lvPl {\n display: none;\n}\n\n.EditMotifAreaDialogView-module_save__1Qaw1 {\n}\n";
|
3068
|
+
var css$9 = ".icons-module_icon__16IVx::before,\n.icons-module_icon__16IVx::after {\n font-family: \"entypo\";\n}.icons-module_arrowsCcw__3_nrJ,\n.icons-module_attention__1sssG,\n.icons-module_cancel__1PjiX,\n.icons-module_check__3Lkw9,\n.icons-module_drag__p7HUE,\n.icons-module_helpCircled__D_oKU,\n.icons-module_plusCircled__20FlJ,\n.icons-module_rightOpen__9vsOG,\n.icons-module_trash__DH1EH {\n}.icons-module_arrowsCcw__3_nrJ::before {\n content: \"\\1F504\";\n}.icons-module_attention__1sssG::before {\n content: \"\\26A0\";\n}.icons-module_cancel__1PjiX::before {\n content: \"\\2715\";\n}.icons-module_check__3Lkw9::before {\n content: \"\\2713\";\n}.icons-module_drag__p7HUE {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n line-height: 10px;\n}.icons-module_drag__p7HUE::before {\n content: \"\\E75F\";\n}.icons-module_drag__p7HUE::after {\n content: \"\\E75C\";\n}.icons-module_helpCircled__D_oKU::before {\n content: \"\\E704\";\n}.icons-module_plusCircled__20FlJ::before {\n content: \"\\2795\";\n}.icons-module_rightOpen__9vsOG::before {\n content: \"\\E75E\"\n}.icons-module_trash__DH1EH::before {\n content: \"\\E729\";\n}.icons-module_chrome__1XHpi {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTM0LDI0YzAsNS41MjEtNC40NzksMTAtMTAsMTBzLTEwLTQuNDc5LTEwLTEwczQuNDc5LTEwLDEwLTEwUzM0LDE4LjQ3OSwzNCwyNHoiLz48bGluZWFyR3JhZGllbnQgaWQ9IlBheDhKY25Neml2dThmflNafmsxeWEiIHgxPSI1Ljc4OSIgeDI9IjMxLjMyNCIgeTE9IjM0LjM1NiIgeTI9IjIwLjc3OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDUwKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzRjYWY1MCIvPjxzdG9wIG9mZnNldD0iLjQ4OSIgc3RvcC1jb2xvcj0iIzRhYWY1MCIvPjxzdG9wIG9mZnNldD0iLjY2NSIgc3RvcC1jb2xvcj0iIzQzYWQ1MCIvPjxzdG9wIG9mZnNldD0iLjc5IiBzdG9wLWNvbG9yPSIjMzhhYTUwIi8+PHN0b3Agb2Zmc2V0PSIuODkyIiBzdG9wLWNvbG9yPSIjMjdhNTUwIi8+PHN0b3Agb2Zmc2V0PSIuOTc4IiBzdG9wLWNvbG9yPSIjMTFhMDUwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMGE5ZTUwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWEpIiBkPSJNMzEuMzMsMjkuMjFsLTguMTYsMTQuNzdDMTIuNTEsNDMuNTUsNCwzNC43Niw0LDI0QzQsMTIuOTYsMTIuOTYsNCwyNCw0djExIGMtNC45NywwLTksNC4wMy05LDlzNC4wMyw5LDksOUMyNy4wMywzMywyOS43LDMxLjUxLDMxLjMzLDI5LjIxeiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iUGF4OEpjbk16aXZ1OGZ+U1p+azF5YiIgeDE9IjMzLjU4IiB4Mj0iMzMuNTgiIHkxPSI2IiB5Mj0iMzQuNzk3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNTApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZkNzQ3Ii8+PHN0b3Agb2Zmc2V0PSIuNDgyIiBzdG9wLWNvbG9yPSIjZmZkNjQ1Ii8+PHN0b3Agb2Zmc2V0PSIuNjU1IiBzdG9wLWNvbG9yPSIjZmVkNDNlIi8+PHN0b3Agb2Zmc2V0PSIuNzc5IiBzdG9wLWNvbG9yPSIjZmNjZjMzIi8+PHN0b3Agb2Zmc2V0PSIuODc5IiBzdG9wLWNvbG9yPSIjZmFjOTIyIi8+PHN0b3Agb2Zmc2V0PSIuOTY0IiBzdG9wLWNvbG9yPSIjZjdjMTBjIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjViYzAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWIpIiBkPSJNNDQsMjRjMCwxMS4wNS04Ljk1LDIwLTIwLDIwaC0wLjg0bDguMTctMTQuNzlDMzIuMzgsMjcuNzQsMzMsMjUuOTQsMzMsMjQgYzAtNC45Ny00LjAzLTktOS05VjRjNy44MSwwLDE0LjU1LDQuNDgsMTcuODUsMTFDNDMuMjEsMTcuNzEsNDQsMjAuNzYsNDQsMjR6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJQYXg4SmNuTXppdnU4Zn5TWn5rMXljIiB4MT0iMzYuMTI4IiB4Mj0iMTEuNTc0IiB5MT0iNDQuMjk3IiB5Mj0iMjguOTU0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNTApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjc1NzJmIi8+PHN0b3Agb2Zmc2V0PSIuNTIzIiBzdG9wLWNvbG9yPSIjZjc1NTJkIi8+PHN0b3Agb2Zmc2V0PSIuNzEyIiBzdG9wLWNvbG9yPSIjZjc1MDI2Ii8+PHN0b3Agb2Zmc2V0PSIuODQ2IiBzdG9wLWNvbG9yPSIjZjc0NjFiIi8+PHN0b3Agb2Zmc2V0PSIuOTU0IiBzdG9wLWNvbG9yPSIjZjczOTBhIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjczMTAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI1BheDhKY25Neml2dThmflNafmsxeWMpIiBkPSJNNDEuODQsMTVIMjRjLTQuOTcsMC05LDQuMDMtOSw5YzAsMS40OSwwLjM2LDIuODksMS4wMSw0LjEzSDE2TDcuMTYsMTMuMjZINy4xNCBDMTAuNjgsNy42OSwxNi45MSw0LDI0LDRDMzEuOCw0LDM4LjU1LDguNDgsNDEuODQsMTV6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJQYXg4SmNuTXppdnU4Zn5TWn5rMXlkIiB4MT0iMTkuMDUiIHgyPSIyOC45NSIgeTE9IjMwLjk1IiB5Mj0iMjEuMDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA1MCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMyYWE0ZjQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDdhZDkiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGZpbGw9InVybCgjUGF4OEpjbk16aXZ1OGZ+U1p+azF5ZCkiIGQ9Ik0zMSwyNGMwLDMuODY3LTMuMTMzLDctNyw3cy03LTMuMTMzLTctN3MzLjEzMy03LDctN1MzMSwyMC4xMzMsMzEsMjR6Ii8+PC9zdmc+); \n}.icons-module_edge__2KQ9q {\n background: url(data:image/png;base64,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);\n}.icons-module_firefox__22UR1 {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iIzAxNTc5QiIgZD0iTTI0IDVBMTkgMTkgMCAxIDAgMjQgNDNBMTkgMTkgMCAxIDAgMjQgNVoiLz48cGF0aCBmaWxsPSIjMDI3N0JEIiBkPSJNMzQsMjAuOGMwLTAuNiwwLTIuOS0xLjUtNC43Yy0wLjEtMC4xLTAuMi0wLjMtMC4yLTAuNGMtMC4xLTAuMS0wLjEtMC4yLTAuMi0wLjRMMzEuOSwxNWwtMC4yLTAuM2MtMC4yLTAuMy0wLjMtMC41LTAuMy0wLjVjLTAuNC0wLjYtMC41LTEuNC0wLjEtMi4xYzAuMS0wLjIsMC4zLTAuNCwwLjQtMC42Yy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuMmMwLDAsMCwwLTAuMSwwYy0wLjMtMC4yLTAuNi0wLjQtMC44LTAuNmwtMC43LTAuNWwwLDBDMjkuMyw5LjksMjksOS44LDI5LDkuN2MtMC43LTAuNC0xLjEtMS4xLTEtMS45YzAuMS0wLjgsMC42LTEuNSwxLjQtMS43YzAuMSwwLDAuMy0wLjEsMC41LTAuMWMwLDAsMCwwLTAuMS0wLjFDMjgsNS4zLDI2LDUsMjQsNUMxNi42LDUsMTAuMSw5LjMsNywxNS41YzAsMC4yLDAsMC4zLDAsMC41YzAsNy4yLDYuMywxMywxNCwxM0MyNi45LDI5LDMxLjksMjUuNiwzNCwyMC44eiIvPjxwYXRoIGZpbGw9IiNGRkYxNzYiIGQ9Ik0zMCw4YzAsMCwwLjMtMC4xLDAuOS0wLjFjMC4zLDAsMC42LDAsMSwwYzAuNCwwLDAuOCwwLjEsMS4zLDAuMmMwLjUsMC4xLDEsMC4zLDEuNSwwLjVjMC41LDAuMiwxLjEsMC41LDEuNiwwLjljMC41LDAuMywxLDAuOCwxLjUsMS4yYzAuNSwwLjQsMC45LDEsMS4zLDEuNWMwLjMsMC42LDAuNywxLjEsMSwxLjdjMC4zLDAuNiwwLjUsMS4yLDAuNywxLjhjMC4yLDAuNiwwLjMsMS4yLDAuNCwxLjdjMC4xLDAuNiwwLjEsMS4xLDAuMSwxLjVjMCwwLjIsMCwwLjUsMCwwLjdjMCwwLjIsMCwwLjQtMC4xLDAuNmMwLDAuNC0wLjEsMC43LTAuMSwxQzQxLjEsMjEuNyw0MSwyMiw0MSwyMnMtMC4yLTAuMy0wLjQtMC44Yy0wLjEtMC4yLTAuMy0wLjUtMC40LTAuOWMtMC4xLTAuMy0wLjMtMC43LTAuNS0xLjFjLTAuMi0wLjQtMC40LTAuOC0wLjYtMS4zYy0wLjItMC40LTAuNS0wLjktMC43LTEuNGMtMC4yLTAuNS0wLjUtMC45LTAuOC0xLjRjLTAuMy0wLjUtMC42LTAuOS0wLjktMS4zYy0wLjMtMC40LTAuNi0wLjktMS0xLjJjLTAuNC0wLjQtMC43LTAuOC0xLjEtMS4xYy0wLjMtMC40LTAuNy0wLjctMS4xLTFjLTAuNC0wLjMtMC43LTAuNi0xLjEtMC44Yy0wLjMtMC4zLTAuNy0wLjUtMS0wLjdjLTAuMy0wLjItMC42LTAuNC0wLjgtMC41QzMwLjMsOC4yLDMwLDgsMzAsOHoiLz48cGF0aCBmaWxsPSIjRkREODM1IiBkPSJNNDMuMSwxNy42Yy0wLjMtMi4yLTEuMi00LjItMi4yLTUuNmMtMC41LTAuNy0xLTEuMi0xLjMtMS41QzM5LjIsMTAuMiwzOSwxMCwzOSwxMHMwLDAuMywwLjEsMC44YzAuMSwwLjUsMC4xLDEuMSwwLjIsMS45YzAuMSwwLjQsMC4xLDAuOCwwLjIsMS4yYy0wLjQtMC42LTAuOS0xLjItMS40LTEuNmMtMC41LTAuNS0xLjEtMC44LTEuNC0xQzM2LjIsMTEuMSwzNiwxMSwzNiwxMXMwLjEsMC4yLDAuMiwwLjZjMC4xLDAuNCwwLjMsMC45LDAuNSwxLjZjMC4yLDAuNywwLjUsMS42LDAuOCwyLjVjLTAuNi0wLjctMS4yLTEuMy0xLjgtMS43Yy0wLjctMC40LTEuMy0wLjctMS44LTAuOEMzMy4zLDEzLDMzLDEzLDMzLDEzczAuMiwwLjIsMC40LDAuNmMwLjEsMC4yLDAuMywwLjQsMC40LDAuN2MwLjIsMC4zLDAuMywwLjYsMC41LDAuOWMwLjMsMC42LDAuNywxLjMsMSwyLjFjMC4yLDAuNCwwLjMsMC44LDAuNSwxLjJjMC4xLDAuNCwwLjQsMC44LDAuNSwxLjNjMC4yLDAuNCwwLjMsMC44LDAuNSwxLjNjMC4xLDAuNCwwLjMsMC44LDAuNCwxLjNjMC4xLDAuNCwwLjMsMC44LDAuNCwxLjJjMC4xLDAuNCwwLjIsMC44LDAuNCwxLjFjMC4zLDAuNywwLjUsMS4zLDAuNywxLjdDMzguOSwyNi44LDM5LDI3LDM5LDI3czAuMS0wLjIsMC4zLTAuN2MwLjEtMC4yLDAuMi0wLjUsMC4yLTAuOGMwLjEtMC4zLDAuMi0wLjcsMC4yLTEuMWMwLTAuMywwLjEtMC42LDAuMS0wLjlDMzkuOSwyMy44LDQwLDI0LDQwLDI0czAuMS0wLjIsMC4zLTAuNmMwLjEtMC4yLDAuMi0wLjQsMC4zLTAuN2MwLDAsMC0wLjEsMC0wLjFjMCwwLjIsMCwwLjUsMC4xLDAuN2MwLDAuNCwwLjEsMC43LDAuMSwxYzAsMC4zLDAsMC42LDAsMC45YzAsMC41LDAuMSwwLjgsMC4xLDAuOHMwLjItMC4yLDAuNS0wLjZjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjdjMC4yLTAuMywwLjMtMC42LDAuNS0xYzAuMi0wLjQsMC4zLTAuOCwwLjQtMS4zYzAuMS0wLjUsMC4yLTEsMC4zLTEuNWMwLjEtMC41LDAuMS0xLjEsMC4xLTEuNkM0My4zLDE4LjcsNDMuMiwxOC4xLDQzLjEsMTcuNnoiLz48cGF0aCBmaWxsPSIjRkZCMzAwIiBkPSJNNDQuMSwxOS44QzQ0LjEsMTkuMyw0NCwxOSw0NCwxOXMtMC4yLDAuMy0wLjUsMC43Yy0wLjMsMC41LTAuNiwxLjEtMSwxLjljLTAuMywwLjctMC43LDEuNS0xLjEsMi4zYzAtMC44LDAtMS41LTAuMS0yLjJjLTAuMS0wLjYtMC4yLTEuMS0wLjMtMS42Yy0wLjItMC41LTAuMy0xLTAuNS0xLjRjLTAuMy0wLjktMC43LTEuNS0xLTJDMzkuMiwxNi4yLDM5LDE2LDM5LDE2cy0wLjEsMS4yLTAuMSwzYzAsMC45LTAuMSwxLjgtMC4yLDIuOWMwLDAuNS0wLjEsMS0wLjEsMS42YzAsMC41LTAuMSwxLjEtMC4yLDEuNmMwLDAuMSwwLDAuMywwLDAuNGMtMC4xLTAuOS0wLjQtMS44LTAuOC0yLjRjLTAuMy0wLjctMC43LTEuMi0xLTEuNUMzNi4yLDIxLjEsMzYsMjEsMzYsMjFzMCwwLjMsMCwwLjdjMCwwLjQsMCwxLTAuMSwxLjdjLTAuMSwxLjMtMC4zLDMtMC41LDQuNmMtMC4xLDAuNC0wLjIsMC44LTAuMiwxLjJjLTAuMSwwLjQtMC4yLDAuOC0wLjIsMS4yYy0wLjEsMC40LTAuMiwwLjgtMC4zLDEuMWMtMC4xLDAuNC0wLjIsMC43LTAuMiwxYy0wLjEsMC4zLTAuMSwwLjctMC4yLDAuOWMtMC4xLDAuMy0wLjEsMC41LTAuMiwwLjhDMzQsMzQuNywzNCwzNSwzNCwzNXMwLjItMC4xLDAuNi0wLjRjMC40LTAuMywwLjktMC42LDEuNC0xLjJjMC4yLTAuMywwLjUtMC42LDAuOC0xYzAuMi0wLjQsMC41LTAuNywwLjctMS4xYzAsMC4zLTAuMSwwLjYtMC4xLDAuOWMtMC4xLDAuMy0wLjEsMC43LTAuMiwwLjlDMzcsMzMuNywzNywzNCwzNywzNGMwLjEtMC4xLDAuNCwwLDAuNywwLjFjMCwwLjEtMC4xLDAuMi0wLjEsMC4yYy0wLjEsMC4zLTAuMiwwLjYtMC4zLDAuOUMzNy4xLDM1LjcsMzcsMzYsMzcsMzZzMC4zLTAuMSwwLjctMC40YzAuMi0wLjIsMC41LTAuMywwLjgtMC42YzAuMy0wLjIsMC42LTAuNSwwLjktMC45YzAuMy0wLjMsMC42LTAuNywxLTEuMWMwLjMtMC40LDAuNi0wLjksMC45LTEuNGMwLjYtMSwxLjEtMi4xLDEuNS0zLjJjMC40LTEuMSwwLjgtMi4zLDEtMy40YzAuMi0xLjEsMC4zLTIuMSwwLjQtM0M0NC4yLDIxLjEsNDQuMiwyMC40LDQ0LjEsMTkuOHoiLz48cGF0aCBmaWxsPSIjRkY5ODAwIiBkPSJNNDEuNCwzMC40Yy0wLjQsMC4yLTAuOCwwLjYtMS40LDFjLTAuOCwwLjYtMS43LDEuNC0yLjYsMi4zYzAuMS0wLjMsMC4zLTAuNiwwLjQtMC45YzAuMy0wLjksMC40LTEuNywwLjUtMi40YzAtMC43LDAtMS4zLTAuMS0xLjdDMzguMSwyOC4yLDM4LDI4LDM4LDI4cy0wLjIsMC4yLTAuNCwwLjVjLTAuMiwwLjMtMC42LDAuOC0xLDEuM2MtMC40LDAuNS0wLjgsMS4yLTEuMiwxLjhjLTAuMSwwLjEtMC4xLDAuMi0wLjIsMC4zYzAuMi0wLjYsMC4yLTEuMywwLjItMS45YzAtMC44LTAuMi0xLjYtMC40LTIuMmMtMC4yLTAuNi0wLjUtMS4xLTAuNy0xLjRDMzQuMiwyNi4yLDM0LDI2LDM0LDI2cy0wLjEsMC4yLTAuMiwwLjZjLTAuMSwwLjMtMC4zLDAuOC0wLjUsMS40Yy0wLjIsMC41LTAuMywxLjEtMC41LDEuOGMtMC4xLDAuMy0wLjIsMC42LTAuMywxYy0wLjEsMC4zLTAuMiwwLjYtMC4zLDAuOGMtMS45LDEuOS00LjIsMi40LTYuNCwyLjVjLTEuMiwwLTIuMy0wLjItMy4zLTAuNWMwLDAsMCwwLDAsMGMwLDAsMCwwLDAsMGMtMS41LTAuNS0yLjktMS40LTQuMi0yLjZjMS45LDAuMiwzLjctMC4yLDUuMi0wLjlsMi41LTEuNmwwLDBjMC4zLTAuMSwwLjYtMC4xLDAuOSwwYzAuNi0wLjEsMC44LTAuNCwwLjYtMWMtMC4zLTAuNC0wLjgtMC44LTEuMy0xLjFjLTEuMy0wLjctMi42LTAuNi00LDAuM2MtMS4zLDAuNy0yLjUsMC42LTMuOC0wLjFjLTMuMS0xLjYtMS45LTUuNywxLjQtMy42YzAuMi0xLTAuMS0yLjEtMC43LTMuMmMwLDAsMCwwLDAsMGMtMi45LTUuMywwLjQtOS42LDEuNS0xMC4zYy0yLDAuMi0zLjgsMS4xLTUuNCwyLjZDNC45LDEwLjksNCwyMC45LDQsMjFsMS4yLTEuMWMtMC40LDEuMS0wLjcsMi4yLTAuOCwzLjRDNCwyNy4yLDUuMSwzMSw3LjcsMzQuOEMxMS43LDM5LjksMTgsNDMsMjQsNDNjNi44LDAsMTEuMi0yLjUsMTQuMS01LjdjMC4yLTAuMiwwLjQtMC40LDAuNi0wLjZjMC42LTAuNywxLjItMS40LDEuNy0yLjJjMC41LTAuNywwLjgtMS41LDEuMS0yLjJjMC4yLTAuNywwLjQtMS4zLDAuNS0xLjdDNDIsMzAuMyw0MiwzMCw0MiwzMFM0MS44LDMwLjEsNDEuNCwzMC40eiIvPjxwYXRoIGZpbGw9IiNFRjZDMDAiIGQ9Ik0xMiwyOGMtMC4yLTcsNC4zLTYuNCw2LjYtNS42QzE3LDIyLjEsMTYuMywyMy42LDE3LDI1QzE2LjcsMjUsMTMuNiwyNC43LDEyLDI4eiBNMTguMywzMC45YzEuOSwwLjIsMy43LTAuMiw1LjItMC45bDIuNS0xLjZsMCwwYzAuMi0wLjEsMC41LTAuMSwwLjcsMGwwLDBjLTIuOS0xLjctNiwxLjktMTIuOCwwLjhDMTUuNiwzMC41LDE4LjMsMzAuOSwxOC4zLDMwLjl6IE0xOC4xLDE0LjVjLTAuMiwxLjUsMC4xLDMuMywxLjEsNS4yYzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwQzIwLjYsMTguOSwyMiwxOCwyMiwxOHMyLTIsMC0yQzIwLjEsMTYsMTguOCwxNS4yLDE4LjEsMTQuNXogTTEwLjMsMTIuNEM5LjQsMTEuNiw4LDEwLDgsOGMwLDAtMi40LDMuOS0xLjUsN0M3LjQsMTMuOSw4LjcsMTMsMTAuMywxMi40eiIvPjxwYXRoIGZpbGw9IiNGRkNDODAiIGQ9Ik0xOS4yLDE5LjdDMTkuMiwxOS43LDE5LjIsMTkuNywxOS4yLDE5LjdDMTkuMiwxOS43LDE5LjIsMTkuNywxOS4yLDE5LjdDMjAuNiwxOC45LDIyLDE4LDIyLDE4czAuMi0wLjIsMC40LTAuNEwyMiwxN2gtMy44QzE4LjQsMTcuOSwxOC43LDE4LjgsMTkuMiwxOS43eiIvPjxwYXRoIGZpbGw9IiM1RDQwMzciIGQ9Ik0yMiwxNmMtMC4zLDAtMC42LDAtMC45LTAuMUwyMSwxNmMwLDAsMC44LDEuMywxLDJDMjIsMTgsMjQsMTYsMjIsMTZ6Ii8+PC9zdmc+);\n}.icons-module_safari__3nzsc {\n background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCI+PHBhdGggZmlsbD0iI2NmZDhkYyIgZD0iTTQ0LDI0YzAsMTEuMDQ0LTguOTU2LDIwLTIwLDIwUzQsMzUuMDQ0LDQsMjRTMTIuOTU2LDQsMjQsNFM0NCwxMi45NTYsNDQsMjR6Ii8+PHBhdGggZmlsbD0iIzQ0OGFmZiIgZD0iTTQxLDI0YzAsOS4zOTEtNy42MDksMTctMTcsMTdTNywzMy4zOTEsNywyNFMxNC42MDksNywyNCw3UzQxLDE0LjYwOSw0MSwyNHoiLz48cGF0aCBmaWxsPSIjZmYzZDAwIiBkPSJNMjEuODk4LDIxLjg5OGw0LjIwMyw0LjIwM2w5LjE5OS0xMy40MDJMMjEuODk4LDIxLjg5OHoiLz48cGF0aCBmaWxsPSIjYmYzNjBjIiBkPSJNMjQsMjRsMTEuMzAxLTExLjMwMWwtOS4xOTksMTMuNDAyTDI0LDI0eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yMS44OTgsMjEuODk4bC05LjE5OSwxMy40MDJsMTMuNDAyLTkuMTk5TDIxLjg5OCwyMS44OTh6Ii8+PHBhdGggZmlsbD0iI2JkYmRiZCIgZD0iTTI0LDI0TDEyLjY5OSwzNS4zMDFsMTMuNDAyLTkuMTk5TDI0LDI0eiIvPjxwYXRoIGZpbGw9IiNiYmRlZmIiIGQ9Ik0xNy4xMDIsMTAuNjk5YzAuNTk4LTAuMzAxLDEuMTk5LTAuNTk4LDEuNzk3LTAuODAxbDEuMjAzLDIuNzAzbC0xLjgwMSwwLjc5N0wxNy4xMDIsMTAuNjk5eiBNMzYsMjVoMi44OThjMC0wLjMwMSwwLjEwMi0wLjY5OSwwLjEwMi0xczAtMC42OTktMC4xMDItMUgzNlYyNXogTTEyLjY5OSwxNC4xMDJsMi4xMDIsMi4wOThsMS4zOTgtMS4zOThsLTIuMDk4LTIuMTAyQzEzLjYwMiwxMy4xOTksMTMuMTk5LDEzLjYwMiwxMi42OTksMTQuMTAyeiBNMjUsOS4xMDJDMjQuNjk5LDksMjQuMzAxLDksMjQsOXMtMC42OTksMC0xLDAuMTAyVjEyaDJWOS4xMDJ6IE0zMC4zOTgsMTAuNWMtMC41OTgtMC4zMDEtMS4xOTktMC41LTEuODk4LTAuNjk5bC0xLjEwMiwyLjgwMWwxLjkwMiwwLjY5OUwzMC4zOTgsMTAuNXogTTEyLjUsMjAuNWwwLjY5OS0xLjg5OEwxMC41LDE3LjVjLTAuMzAxLDAuNjAyLTAuNSwxLjE5OS0wLjY5OSwxLjg5OEwxMi41LDIwLjV6IE0xMiwyM0g5LjEwMkM5LDIzLjMwMSw5LDIzLjY5OSw5LDI0czAsMC42OTksMC4xMDIsMUgxMlYyM3ogTTM1LjUsMjcuNWwtMC42OTksMS44OThMMzcuNSwzMC41YzAuMzAxLTAuNjAyLDAuNS0xLjE5OSwwLjY5OS0xLjg5OEwzNS41LDI3LjV6IE0zOC4xMDIsMTguODk4Yy0wLjIwMy0wLjU5OC0wLjUtMS4xOTktMC44MDEtMS43OTdsLTIuNjk5LDEuMTk5bDAuNzk3LDEuODAxTDM4LjEwMiwxOC44OTh6IE0zNS4zMDEsMzMuODk4bC0yLjEwMi0yLjA5OGwtMS4zOTgsMS4zOThsMi4wOTgsMi4xMDJDMzQuMzk4LDM0LjgwMSwzNC44MDEsMzQuMzk4LDM1LjMwMSwzMy44OTh6IE0xMy4zOTgsMjkuNjk5bC0wLjc5Ny0xLjgwMWwtMi43MDMsMS4yMDNjMC4yMDMsMC41OTgsMC41LDEuMTk5LDAuODAxLDEuNzk3TDEzLjM5OCwyOS42OTl6IE0yOS42OTksMzQuNjAybC0xLjgwMSwwLjc5N2wxLjIwMywyLjcwM2MwLjU5OC0wLjIwMywxLjE5OS0wLjUsMS43OTctMC44MDFMMjkuNjk5LDM0LjYwMnogTTIwLjUsMzUuNWwtMS44OTgtMC42OTlMMTcuNSwzNy41YzAuNjAyLDAuMzAxLDEuMTk5LDAuNSwxLjg5OCwwLjY5OUwyMC41LDM1LjV6IE0yNSwzOC44OThWMzZoLTJ2Mi44OThjMC4zMDEsMCwwLjY5OSwwLjEwMiwxLDAuMTAyUzI0LjY5OSwzOSwyNSwzOC44OTh6Ii8+PC9zdmc+);\n}.buttons-module_primaryIconButton__KHPA9 {\n /* see app/assets/stylesheets/pageflow/editor/composable.scss */\n}.buttons-module_secondaryIconButton__4LT0V {\n /* see app/assets/stylesheets/pageflow/editor/composable.scss */\n}.buttons-module_unstyledButton__3m76W {\n border: 0;\n text-align: initial;\n}.buttons-module_addButton__2pN-g {\n}.buttons-module_cancelButton__1xJCN {\n}.buttons-module_saveButton__1M-qM {\n}\n\n.EditMotifAreaDialogView-module_box__1fwA5 {\n width: -webkit-min-content;\n width: -moz-min-content;\n width: min-content;\n min-height: 310px;\n min-width: 400px;\n}\n\n.EditMotifAreaDialogView-module_wrapper__2uBFA {\n display: flex;\n justify-content: center;\n}\n\n.EditMotifAreaDialogView-module_helpLink__1Dv5E {\n color: #005dc7;\n float: left;\n padding: 7px 0;\n}\n\n.EditMotifAreaDialogView-module_helpLink__1Dv5E::before {\n color: #a0c4e0;\n}\n\n.EditMotifAreaDialogView-module_thumbnail__dM9gN {\n position: relative;\n display: inline-block;\n overflow: hidden;\n}\n\n.EditMotifAreaDialogView-module_image__2-Iaj {\n display: block;\n height: calc(100vh - 200px);\n max-height: 600px;\n min-height: 200px;\n}\n\n.EditMotifAreaDialogView-module_blankSlate__3lvPl {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n background-color: rgba(0, 0, 0, 0.5);\n color: #fff;\n display: none;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\n\n.EditMotifAreaDialogView-module_blank__yAuNx .EditMotifAreaDialogView-module_blankSlate__3lvPl {\n display: flex;\n}\n\n.EditMotifAreaDialogView-module_reset__3YOxk {\n position: absolute;\n top: 5px;\n right: 5px;\n z-index: 10;\n padding: 5px;\n background-color: #000;\n color: #fff;\n border: solid 1px #fff;\n border-radius: 3px;\n}\n\n.EditMotifAreaDialogView-module_blank__yAuNx .EditMotifAreaDialogView-module_reset__3YOxk {\n display: none;\n}\n\n.EditMotifAreaDialogView-module_dragging__1Cx0- .EditMotifAreaDialogView-module_reset__3YOxk,\n.EditMotifAreaDialogView-module_dragging__1Cx0- .EditMotifAreaDialogView-module_blankSlate__3lvPl {\n display: none;\n}\n\n.EditMotifAreaDialogView-module_save__1Qaw1 {\n}\n";
|
2768
3069
|
var styles$7 = {"linkColor":"#005dc7","helpIconColor":"#a0c4e0","box":"EditMotifAreaDialogView-module_box__1fwA5","wrapper":"EditMotifAreaDialogView-module_wrapper__2uBFA","helpLink":"EditMotifAreaDialogView-module_helpLink__1Dv5E buttons-module_unstyledButton__3m76W icons-module_helpCircled__D_oKU icons-module_icon__16IVx","thumbnail":"EditMotifAreaDialogView-module_thumbnail__dM9gN","image":"EditMotifAreaDialogView-module_image__2-Iaj","blankSlate":"EditMotifAreaDialogView-module_blankSlate__3lvPl","blank":"EditMotifAreaDialogView-module_blank__yAuNx","reset":"EditMotifAreaDialogView-module_reset__3YOxk buttons-module_unstyledButton__3m76W","dragging":"EditMotifAreaDialogView-module_dragging__1Cx0-","save":"EditMotifAreaDialogView-module_save__1Qaw1 buttons-module_saveButton__1M-qM buttons-module_primaryIconButton__KHPA9 primary_icon_button icons-module_check__3Lkw9 icons-module_icon__16IVx"};
|
2769
3070
|
styleInject(css$9);
|
2770
3071
|
|
@@ -2789,7 +3090,9 @@ var EditMotifAreaDialogView = Marionette.ItemView.extend({
|
|
2789
3090
|
}
|
2790
3091
|
}),
|
2791
3092
|
save: function save() {
|
2792
|
-
|
3093
|
+
var motifArea = this.getMotifAreaWithRoundedValues();
|
3094
|
+
this.model.set(this.getPropertyName(), motifArea);
|
3095
|
+
this.options.file.configuration.set('motifArea', motifArea);
|
2793
3096
|
},
|
2794
3097
|
onRender: function onRender() {
|
2795
3098
|
this.ui.image.attr('src', this.options.file.getBackgroundPositioningImageUrl());
|
@@ -2797,7 +3100,7 @@ var EditMotifAreaDialogView = Marionette.ItemView.extend({
|
|
2797
3100
|
onShow: function onShow() {
|
2798
3101
|
var _this = this;
|
2799
3102
|
|
2800
|
-
this.motifArea = this.
|
3103
|
+
this.motifArea = this.model.get(this.getPropertyName());
|
2801
3104
|
this.updateAreaSelect();
|
2802
3105
|
this.updateBlankSlate();
|
2803
3106
|
|
@@ -2807,6 +3110,9 @@ var EditMotifAreaDialogView = Marionette.ItemView.extend({
|
|
2807
3110
|
|
2808
3111
|
$(window).on('resize', this.resizeListener);
|
2809
3112
|
},
|
3113
|
+
getPropertyName: function getPropertyName() {
|
3114
|
+
return "".concat(this.options.propertyName, "MotifArea");
|
3115
|
+
},
|
2810
3116
|
getMotifAreaWithRoundedValues: function getMotifAreaWithRoundedValues() {
|
2811
3117
|
return this.motifArea && {
|
2812
3118
|
left: Math.round(this.motifArea.left),
|
@@ -2885,16 +3191,24 @@ EditMotifAreaDialogView.show = function (options) {
|
|
2885
3191
|
var EditSectionView = EditConfigurationView.extend({
|
2886
3192
|
translationKeyPrefix: 'pageflow_scrolled.editor.edit_section',
|
2887
3193
|
configure: function configure(configurationEditor) {
|
3194
|
+
var editMotifAreaMenuItem = {
|
3195
|
+
name: 'editMotifArea',
|
3196
|
+
label: I18n.t('pageflow_scrolled.editor.edit_section.edit_motif_area'),
|
3197
|
+
selected: function selected(_ref) {
|
3198
|
+
var inputModel = _ref.inputModel,
|
3199
|
+
propertyName = _ref.propertyName,
|
3200
|
+
file = _ref.file;
|
3201
|
+
EditMotifAreaDialogView.show({
|
3202
|
+
model: inputModel,
|
3203
|
+
propertyName: propertyName,
|
3204
|
+
file: file
|
3205
|
+
});
|
3206
|
+
}
|
3207
|
+
};
|
2888
3208
|
configurationEditor.tab('section', function () {
|
2889
|
-
this.input('
|
2890
|
-
values: ['left', 'right', 'center']
|
2891
|
-
});
|
2892
|
-
this.input('appearance', SelectInputView, {
|
2893
|
-
values: ['shadow', 'cards', 'transparent']
|
2894
|
-
});
|
3209
|
+
this.input('fullHeight', CheckBoxInputView);
|
2895
3210
|
this.input('backdropType', SelectInputView, {
|
2896
|
-
values: ['image', '
|
2897
|
-
texts: ['Bild', 'Farbe', 'Video']
|
3211
|
+
values: ['image', 'video', 'color']
|
2898
3212
|
});
|
2899
3213
|
this.input('backdropImage', FileInputView, {
|
2900
3214
|
collection: 'image_files',
|
@@ -2902,20 +3216,7 @@ var EditSectionView = EditConfigurationView.extend({
|
|
2902
3216
|
visibleBinding: 'backdropType',
|
2903
3217
|
visibleBindingValue: 'image',
|
2904
3218
|
positioning: false,
|
2905
|
-
dropDownMenuItems: [
|
2906
|
-
name: 'editMofifArea',
|
2907
|
-
label: I18n.t('pageflow_scrolled.editor.edit_section.edit_motif_area'),
|
2908
|
-
selected: function selected(_ref) {
|
2909
|
-
var inputModel = _ref.inputModel,
|
2910
|
-
propertyName = _ref.propertyName,
|
2911
|
-
file = _ref.file;
|
2912
|
-
EditMotifAreaDialogView.show({
|
2913
|
-
model: inputModel,
|
2914
|
-
propertyName: propertyName,
|
2915
|
-
file: file
|
2916
|
-
});
|
2917
|
-
}
|
2918
|
-
}]
|
3219
|
+
dropDownMenuItems: [editMotifAreaMenuItem]
|
2919
3220
|
});
|
2920
3221
|
this.input('backdropImageMobile', FileInputView, {
|
2921
3222
|
collection: 'image_files',
|
@@ -2923,20 +3224,7 @@ var EditSectionView = EditConfigurationView.extend({
|
|
2923
3224
|
visibleBinding: 'backdropType',
|
2924
3225
|
visibleBindingValue: 'image',
|
2925
3226
|
positioning: false,
|
2926
|
-
dropDownMenuItems: [
|
2927
|
-
name: 'editMofifArea',
|
2928
|
-
label: I18n.t('pageflow_scrolled.editor.edit_section.edit_motif_area'),
|
2929
|
-
selected: function selected(_ref2) {
|
2930
|
-
var inputModel = _ref2.inputModel,
|
2931
|
-
propertyName = _ref2.propertyName,
|
2932
|
-
file = _ref2.file;
|
2933
|
-
EditMotifAreaDialogView.show({
|
2934
|
-
model: inputModel,
|
2935
|
-
propertyName: propertyName,
|
2936
|
-
file: file
|
2937
|
-
});
|
2938
|
-
}
|
2939
|
-
}]
|
3227
|
+
dropDownMenuItems: [editMotifAreaMenuItem]
|
2940
3228
|
});
|
2941
3229
|
this.input('backdropColor', ColorInputView, {
|
2942
3230
|
visibleBinding: 'backdropType',
|
@@ -2947,10 +3235,54 @@ var EditSectionView = EditConfigurationView.extend({
|
|
2947
3235
|
fileSelectionHandler: 'sectionConfiguration',
|
2948
3236
|
visibleBinding: 'backdropType',
|
2949
3237
|
visibleBindingValue: 'video',
|
2950
|
-
positioning: false
|
3238
|
+
positioning: false,
|
3239
|
+
dropDownMenuItems: [editMotifAreaMenuItem]
|
3240
|
+
});
|
3241
|
+
this.input('layout', SelectInputView, {
|
3242
|
+
values: ['left', 'right', 'center']
|
3243
|
+
});
|
3244
|
+
this.input('appearance', SelectInputView, {
|
3245
|
+
values: ['shadow', 'cards', 'transparent']
|
2951
3246
|
});
|
2952
3247
|
this.input('invert', CheckBoxInputView);
|
2953
|
-
this.input('
|
3248
|
+
this.input('exposeMotifArea', CheckBoxInputView, {
|
3249
|
+
displayUncheckedIfDisabled: true,
|
3250
|
+
visibleBinding: ['backdropType'],
|
3251
|
+
visible: function visible(_ref2) {
|
3252
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
3253
|
+
backdropType = _ref3[0];
|
3254
|
+
|
3255
|
+
return backdropType !== 'color';
|
3256
|
+
},
|
3257
|
+
disabledBinding: motifAreaDisabledBinding,
|
3258
|
+
disabled: motifAreaDisabled
|
3259
|
+
});
|
3260
|
+
this.input('staticShadowOpacity', SliderInputView, {
|
3261
|
+
defaultValue: 70,
|
3262
|
+
visibleBinding: 'appearance',
|
3263
|
+
visible: function visible(appearance) {
|
3264
|
+
return !appearance || appearance === 'shadow';
|
3265
|
+
}
|
3266
|
+
});
|
3267
|
+
this.input('dynamicShadowOpacity', SliderInputView, {
|
3268
|
+
defaultValue: 70,
|
3269
|
+
visibleBinding: ['backdropType', 'appearance'],
|
3270
|
+
visible: function visible(_ref4) {
|
3271
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
3272
|
+
backdropType = _ref5[0],
|
3273
|
+
appearance = _ref5[1];
|
3274
|
+
|
3275
|
+
return backdropType !== 'color' && (!appearance || appearance === 'shadow');
|
3276
|
+
},
|
3277
|
+
disabledBinding: ['exposeMotifArea'].concat(motifAreaDisabledBinding),
|
3278
|
+
disabled: function disabled(_ref6) {
|
3279
|
+
var _ref7 = _toArray(_ref6),
|
3280
|
+
exposeMotifArea = _ref7[0],
|
3281
|
+
motifAreaDisabledBindingValues = _ref7.slice(1);
|
3282
|
+
|
3283
|
+
return !exposeMotifArea || motifAreaDisabled(motifAreaDisabledBindingValues);
|
3284
|
+
}
|
3285
|
+
});
|
2954
3286
|
this.input('atmoAudioFileId', FileInputView, {
|
2955
3287
|
collection: 'audio_files',
|
2956
3288
|
fileSelectionHandler: 'sectionConfiguration',
|
@@ -2959,6 +3291,26 @@ var EditSectionView = EditConfigurationView.extend({
|
|
2959
3291
|
});
|
2960
3292
|
}
|
2961
3293
|
});
|
3294
|
+
var motifAreaDisabledBinding = ['backdropType', 'backdropImageMotifArea', 'backdropImageMobileMotifArea', 'backdropVideoMotifArea', 'backdropImage', 'backdropImageMobile', 'backdropVideo'];
|
3295
|
+
|
3296
|
+
function motifAreaDisabled(_ref8) {
|
3297
|
+
var _ref9 = _slicedToArray(_ref8, 7),
|
3298
|
+
backdropType = _ref9[0],
|
3299
|
+
backdropImageMotifArea = _ref9[1],
|
3300
|
+
backdropImageMobileMotifArea = _ref9[2],
|
3301
|
+
backdropVideoMotifArea = _ref9[3],
|
3302
|
+
backdropImage = _ref9[4],
|
3303
|
+
backdropImageMobile = _ref9[5],
|
3304
|
+
backdropVideo = _ref9[6];
|
3305
|
+
|
3306
|
+
if (backdropType === 'video') {
|
3307
|
+
return !backdropVideo || !backdropVideoMotifArea;
|
3308
|
+
} else if (backdropType !== 'color') {
|
3309
|
+
return (!backdropImage || !backdropImageMotifArea) && (!backdropImageMobile || !backdropImageMobileMotifArea);
|
3310
|
+
}
|
3311
|
+
|
3312
|
+
return true;
|
3313
|
+
}
|
2962
3314
|
|
2963
3315
|
var css$a = "\n\n.EditSectionTransitionEffectView-module_upper_section__AI6fG {\n background: #50514f;\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: normal;\n}\n\n.EditSectionTransitionEffectView-module_lower_section__kZyic {\n background: #A2A2A2;\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: normal;\n}\n\n.EditSectionTransitionEffectView-module_upper_background__2ecP0, .EditSectionTransitionEffectView-module_lower_background__3NowS {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.EditSectionTransitionEffectView-module_disabled__1ZRYF {\n pointer-events: none;\n opacity: 0.3;\n}\n\n.EditSectionTransitionEffectView-module_active__3F2NM {\n background: #1c86fe !important;\n}\n\n.EditSectionTransitionEffectView-module_active__3F2NM div,\n.EditSectionTransitionEffectView-module_active__3F2NM .EditSectionTransitionEffectView-module_extended_option__3FO6S {\n color: #ffffff;\n}\n\n.EditSectionTransitionEffectView-module_extended_option__3FO6S {\n display: none !important;\n}\n\n.EditSectionTransitionEffectView-module_active__3F2NM .EditSectionTransitionEffectView-module_extended_option__3FO6S {\n display: flex !important;\n height: auto;\n width: 82.5%;\n align-items: center;\n padding: 5% 2.5%;\n padding-left: 15%;\n}\n\n.EditSectionTransitionEffectView-module_extended_option__3FO6S input {\n opacity: 1 !important;\n visibility: hidden;\n position: absolute;\n left: -15px;\n top: 8px;\n width: auto;\n}\n\n.EditSectionTransitionEffectView-module_container__32mkr.EditSectionTransitionEffectView-module_container_with_option__H-xli label:first-child {\n padding-bottom: 10px;\n}\n\n.EditSectionTransitionEffectView-module_active__3F2NM .EditSectionTransitionEffectView-module_extended_option__3FO6S input:before {\n visibility: visible;\n display: block;\n content: ' ';\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmZmZmZmIj48cGF0aCBkPSJNMjIgMnYyMGgtMjB2LTIwaDIwem0yLTJoLTI0djI0aDI0di0yNHoiLz48L3N2Zz4=);\n background-size: 15px 15px;\n height: 15px;\n width: 15px;\n position: absolute;\n left: 30px;\n top: 4px;\n}\n\n.EditSectionTransitionEffectView-module_active__3F2NM .EditSectionTransitionEffectView-module_extended_option__3FO6S.EditSectionTransitionEffectView-module_active__3F2NM input:before {\n visibility: visible;\n display: block;\n content: ' ';\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTIyIDJ2MjBoLTIwdi0yMGgyMHptMi0yaC0yNHYyNGgyNHYtMjR6bS01LjU0MSA4LjQwOWwtMS40MjItMS40MDktNy4wMjEgNy4xODMtMy4wOC0yLjkzNy0xLjM5NSAxLjQzNSA0LjUgNC4zMTkgOC40MTgtOC41OTF6Ii8+PC9zdmc+);\n background-size: 15px 15px;\n height: 15px;\n width: 15px;\n position: absolute;\n left: 30px;\n top: 4px;\n}\n\n.EditSectionTransitionEffectView-module_container__32mkr {\n height: 90px;\n display: flex !important;\n align-items: center;\n border-top: 1px solid #ffffff;\n background: #e5e5e5;\n}\n.EditSectionTransitionEffectView-module_container__32mkr:hover {\n background: #ddd;\n}\n\n.EditSectionTransitionEffectView-module_container__32mkr label:first-child {\n height: 60px;\n width: 100%;\n padding: 15px 0;\n}\n\n.EditSectionTransitionEffectView-module_container_with_option__H-xli.EditSectionTransitionEffectView-module_active__3F2NM {\n height: auto;\n flex-direction: column;\n}\n\n.EditSectionTransitionEffectView-module_transition__1HHuP {\n height: 100%;\n width: 100%;\n display: flex;\n}\n\n\n/*Fade AND Fade Background Upper*/\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_fadeBg__2dHin .EditSectionTransitionEffectView-module_upper_section__AI6fG {\n -webkit-animation: EditSectionTransitionEffectView-module_FadeA__3u-VS 4s linear infinite;\n animation: EditSectionTransitionEffectView-module_FadeA__3u-VS 4s linear infinite;\n}\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_fadeBg__2dHin .EditSectionTransitionEffectView-module_lower_section__kZyic {\n -webkit-animation: EditSectionTransitionEffectView-module_FadeB__a1PxS 4s linear infinite;\n animation: EditSectionTransitionEffectView-module_FadeB__a1PxS 4s linear infinite;\n}\n\n/*Scroll, Scroll Over, Reveal, AND Fade Background Lower*/\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_scroll__2RfMf .EditSectionTransitionEffectView-module_upper_section__AI6fG,\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_scroll__2RfMf .EditSectionTransitionEffectView-module_lower_section__kZyic,\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_scrollOver__3cJJ7 .EditSectionTransitionEffectView-module_lower_section__kZyic,\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_reveal__1_gtk .EditSectionTransitionEffectView-module_upper_section__AI6fG{\n -webkit-animation: EditSectionTransitionEffectView-module_Translate__CLYTi 2s linear infinite;\n animation: EditSectionTransitionEffectView-module_Translate__CLYTi 2s linear infinite;\n}\n\n/*Before After*/\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_upper_section__AI6fG {\n -webkit-animation: EditSectionTransitionEffectView-module_Translate__CLYTi 2s linear infinite;\n animation: EditSectionTransitionEffectView-module_Translate__CLYTi 2s linear infinite;\n}\n.EditSectionTransitionEffectView-module_container__32mkr:hover .EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_upper_section__AI6fG div {\n -webkit-animation: EditSectionTransitionEffectView-module_TranslateYPositive__10FZp 2s linear infinite;\n animation: EditSectionTransitionEffectView-module_TranslateYPositive__10FZp 2s linear infinite;\n}\n\n.EditSectionTransitionEffectView-module_animation__3PSoZ {\n width: 30%;\n height: 100%;\n margin: 0 2%;\n border-radius: 5%;\n color: #ffffff;\n text-align: center;\n font-size: 26px;\n overflow: hidden;\n}\n\n/*Fade + Reveal + Before After*/\n.EditSectionTransitionEffectView-module_fadeBg__2dHin .EditSectionTransitionEffectView-module_animation__3PSoZ,\n.EditSectionTransitionEffectView-module_reveal__1_gtk .EditSectionTransitionEffectView-module_animation__3PSoZ,\n.EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_animation__3PSoZ {\n position: relative;\n}\n\n/*Fade + Reveal + Before After Lower Sections*/\n.EditSectionTransitionEffectView-module_fadeBg__2dHin .EditSectionTransitionEffectView-module_lower_section__kZyic,\n.EditSectionTransitionEffectView-module_reveal__1_gtk .EditSectionTransitionEffectView-module_lower_section__kZyic,\n.EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_lower_section__kZyic {\n position: absolute;\n}\n\n/*Reveal, fade Upper Section, & Before After Upper Section*/\n.EditSectionTransitionEffectView-module_reveal__1_gtk .EditSectionTransitionEffectView-module_upper_section__AI6fG,\n.EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_upper_section__AI6fG,\n.EditSectionTransitionEffectView-module_fadeBg__2dHin .EditSectionTransitionEffectView-module_upper_section__AI6fG {\n position: absolute;\n z-index: 1;\n}\n\n.EditSectionTransitionEffectView-module_beforeAfter__3oeDi .EditSectionTransitionEffectView-module_upper_section__AI6fG {\n overflow: hidden;\n}\n\n/*Input*/\n.EditSectionTransitionEffectView-module_container__32mkr input {\n opacity: 0;\n}\n\n/*Label*/\n.EditSectionTransitionEffectView-module_container__32mkr .EditSectionTransitionEffectView-module_input__3i8nA {\n display: block;\n text-align: left;\n height: 100%;\n width: 70%;\n}\n\n/*Keyframes*/\n@-webkit-keyframes EditSectionTransitionEffectView-module_Translate__CLYTi {\n 50% {\n transform: translateY(-100%);\n }\n}\n@keyframes EditSectionTransitionEffectView-module_Translate__CLYTi {\n 50% {\n transform: translateY(-100%);\n }\n}\n@-webkit-keyframes EditSectionTransitionEffectView-module_TranslateYPositive__10FZp {\n 50% {\n transform: translateY(100%);\n }\n}\n@keyframes EditSectionTransitionEffectView-module_TranslateYPositive__10FZp {\n 50% {\n transform: translateY(100%);\n }\n}\n@-webkit-keyframes EditSectionTransitionEffectView-module_FadeA__3u-VS {\n 25%,50% {\n opacity: 0;\n visibility: hidden;\n }\n 10%, 80% {\n visibility: visible;\n }\n}\n@keyframes EditSectionTransitionEffectView-module_FadeA__3u-VS {\n 25%,50% {\n opacity: 0;\n visibility: hidden;\n }\n 10%, 80% {\n visibility: visible;\n }\n}\n@-webkit-keyframes EditSectionTransitionEffectView-module_FadeB__a1PxS {\n 25%, 50% {\n opacity: 1;\n }\n 90% {\n visibility: hidden;\n opacity: 0;\n }\n}\n@keyframes EditSectionTransitionEffectView-module_FadeB__a1PxS {\n 25%, 50% {\n opacity: 1;\n }\n 90% {\n visibility: hidden;\n opacity: 0;\n }\n}";
|
2964
3316
|
var styles$8 = {"selectionColor":"#1c86fe","upper_section":"EditSectionTransitionEffectView-module_upper_section__AI6fG","lower_section":"EditSectionTransitionEffectView-module_lower_section__kZyic","upper_background":"EditSectionTransitionEffectView-module_upper_background__2ecP0","lower_background":"EditSectionTransitionEffectView-module_lower_background__3NowS","disabled":"EditSectionTransitionEffectView-module_disabled__1ZRYF","active":"EditSectionTransitionEffectView-module_active__3F2NM","extended_option":"EditSectionTransitionEffectView-module_extended_option__3FO6S","container":"EditSectionTransitionEffectView-module_container__32mkr","container_with_option":"EditSectionTransitionEffectView-module_container_with_option__H-xli","transition":"EditSectionTransitionEffectView-module_transition__1HHuP","fadeBg":"EditSectionTransitionEffectView-module_fadeBg__2dHin","FadeA":"EditSectionTransitionEffectView-module_FadeA__3u-VS","FadeB":"EditSectionTransitionEffectView-module_FadeB__a1PxS","scroll":"EditSectionTransitionEffectView-module_scroll__2RfMf","scrollOver":"EditSectionTransitionEffectView-module_scrollOver__3cJJ7","reveal":"EditSectionTransitionEffectView-module_reveal__1_gtk","Translate":"EditSectionTransitionEffectView-module_Translate__CLYTi","beforeAfter":"EditSectionTransitionEffectView-module_beforeAfter__3oeDi","TranslateYPositive":"EditSectionTransitionEffectView-module_TranslateYPositive__10FZp","-webkit-animation":"EditSectionTransitionEffectView-module_animation__3PSoZ","animation":"EditSectionTransitionEffectView-module_animation__3PSoZ","input":"EditSectionTransitionEffectView-module_input__3i8nA"};
|