Chris@0
|
1 /**
|
Chris@0
|
2 * DO NOT EDIT THIS FILE.
|
Chris@0
|
3 * See the following change record for more information,
|
Chris@0
|
4 * https://www.drupal.org/node/2815083
|
Chris@0
|
5 * @preserve
|
Chris@0
|
6 **/
|
Chris@0
|
7
|
Chris@0
|
8 (function ($, _, Backbone, Drupal) {
|
Chris@0
|
9 Drupal.quickedit.FieldToolbarView = Backbone.View.extend({
|
Chris@0
|
10 $editedElement: null,
|
Chris@0
|
11
|
Chris@0
|
12 editorView: null,
|
Chris@0
|
13
|
Chris@0
|
14 _id: null,
|
Chris@0
|
15
|
Chris@0
|
16 initialize: function initialize(options) {
|
Chris@0
|
17 this.$editedElement = options.$editedElement;
|
Chris@0
|
18 this.editorView = options.editorView;
|
Chris@0
|
19
|
Chris@0
|
20 this.$root = this.$el;
|
Chris@0
|
21
|
Chris@14
|
22 this._id = 'quickedit-toolbar-for-' + this.model.id.replace(/[/[\]]/g, '_');
|
Chris@0
|
23
|
Chris@0
|
24 this.listenTo(this.model, 'change:state', this.stateChange);
|
Chris@0
|
25 },
|
Chris@0
|
26 render: function render() {
|
Chris@0
|
27 this.setElement($(Drupal.theme('quickeditFieldToolbar', {
|
Chris@0
|
28 id: this._id
|
Chris@0
|
29 })));
|
Chris@0
|
30
|
Chris@0
|
31 this.$el.prependTo(this.$root);
|
Chris@0
|
32
|
Chris@0
|
33 return this;
|
Chris@0
|
34 },
|
Chris@0
|
35 stateChange: function stateChange(model, state) {
|
Chris@0
|
36 var from = model.previous('state');
|
Chris@0
|
37 var to = state;
|
Chris@0
|
38 switch (to) {
|
Chris@0
|
39 case 'inactive':
|
Chris@0
|
40 break;
|
Chris@0
|
41
|
Chris@0
|
42 case 'candidate':
|
Chris@0
|
43 if (from !== 'inactive' && from !== 'highlighted') {
|
Chris@0
|
44 this.$el.remove();
|
Chris@0
|
45 this.setElement();
|
Chris@0
|
46 }
|
Chris@0
|
47 break;
|
Chris@0
|
48
|
Chris@0
|
49 case 'highlighted':
|
Chris@0
|
50 break;
|
Chris@0
|
51
|
Chris@0
|
52 case 'activating':
|
Chris@0
|
53 this.render();
|
Chris@0
|
54
|
Chris@0
|
55 if (this.editorView.getQuickEditUISettings().fullWidthToolbar) {
|
Chris@0
|
56 this.$el.addClass('quickedit-toolbar-fullwidth');
|
Chris@0
|
57 }
|
Chris@0
|
58
|
Chris@0
|
59 if (this.editorView.getQuickEditUISettings().unifiedToolbar) {
|
Chris@0
|
60 this.insertWYSIWYGToolGroups();
|
Chris@0
|
61 }
|
Chris@0
|
62 break;
|
Chris@0
|
63
|
Chris@0
|
64 case 'active':
|
Chris@0
|
65 break;
|
Chris@0
|
66
|
Chris@0
|
67 case 'changed':
|
Chris@0
|
68 break;
|
Chris@0
|
69
|
Chris@0
|
70 case 'saving':
|
Chris@0
|
71 break;
|
Chris@0
|
72
|
Chris@0
|
73 case 'saved':
|
Chris@0
|
74 break;
|
Chris@0
|
75
|
Chris@0
|
76 case 'invalid':
|
Chris@0
|
77 break;
|
Chris@0
|
78 }
|
Chris@0
|
79 },
|
Chris@0
|
80 insertWYSIWYGToolGroups: function insertWYSIWYGToolGroups() {
|
Chris@0
|
81 this.$el.append(Drupal.theme('quickeditToolgroup', {
|
Chris@0
|
82 id: this.getFloatedWysiwygToolgroupId(),
|
Chris@0
|
83 classes: ['wysiwyg-floated', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
|
Chris@0
|
84 buttons: []
|
Chris@0
|
85 })).append(Drupal.theme('quickeditToolgroup', {
|
Chris@0
|
86 id: this.getMainWysiwygToolgroupId(),
|
Chris@0
|
87 classes: ['wysiwyg-main', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
|
Chris@0
|
88 buttons: []
|
Chris@0
|
89 }));
|
Chris@0
|
90
|
Chris@0
|
91 this.show('wysiwyg-floated');
|
Chris@0
|
92 this.show('wysiwyg-main');
|
Chris@0
|
93 },
|
Chris@0
|
94 getId: function getId() {
|
Chris@0
|
95 return 'quickedit-toolbar-for-' + this._id;
|
Chris@0
|
96 },
|
Chris@0
|
97 getFloatedWysiwygToolgroupId: function getFloatedWysiwygToolgroupId() {
|
Chris@0
|
98 return 'quickedit-wysiwyg-floated-toolgroup-for-' + this._id;
|
Chris@0
|
99 },
|
Chris@0
|
100 getMainWysiwygToolgroupId: function getMainWysiwygToolgroupId() {
|
Chris@0
|
101 return 'quickedit-wysiwyg-main-toolgroup-for-' + this._id;
|
Chris@0
|
102 },
|
Chris@0
|
103 _find: function _find(toolgroup) {
|
Chris@0
|
104 return this.$el.find('.quickedit-toolgroup.' + toolgroup);
|
Chris@0
|
105 },
|
Chris@0
|
106 show: function show(toolgroup) {
|
Chris@0
|
107 var $group = this._find(toolgroup);
|
Chris@0
|
108
|
Chris@0
|
109 $group.on(Drupal.quickedit.util.constants.transitionEnd, function (event) {
|
Chris@0
|
110 $group.off(Drupal.quickedit.util.constants.transitionEnd);
|
Chris@0
|
111 });
|
Chris@0
|
112
|
Chris@0
|
113 window.setTimeout(function () {
|
Chris@0
|
114 $group.removeClass('quickedit-animate-invisible');
|
Chris@0
|
115 }, 0);
|
Chris@0
|
116 }
|
Chris@0
|
117 });
|
Chris@0
|
118 })(jQuery, _, Backbone, Drupal); |