locomotive-aloha-rails 0.20.1.2 → 0.20.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/lib/aloha/rails/version.rb +2 -2
- data/vendor/assets/javascripts/aloha/css/aloha.css +3 -0
- data/vendor/assets/javascripts/aloha/css/ext-aloha.css +3 -0
- data/vendor/assets/javascripts/aloha/lib/aloha-bootstrap.js +4565 -3934
- data/vendor/assets/javascripts/aloha/lib/aloha.js +1357 -702
- data/vendor/assets/javascripts/aloha/lib/aloha/command.js +16 -13
- data/vendor/assets/javascripts/aloha/lib/aloha/core.js +23 -3
- data/vendor/assets/javascripts/aloha/lib/aloha/ecma5shims.js +23 -7
- data/vendor/assets/javascripts/aloha/lib/aloha/editable.js +57 -14
- data/vendor/assets/javascripts/aloha/lib/aloha/engine.js +9 -5
- data/vendor/assets/javascripts/aloha/lib/aloha/floatingmenu.js +288 -96
- data/vendor/assets/javascripts/aloha/lib/aloha/jquery.js +11 -1
- data/vendor/assets/javascripts/aloha/lib/aloha/markup.js +318 -40
- data/vendor/assets/javascripts/aloha/lib/aloha/repositorymanager.js +11 -10
- data/vendor/assets/javascripts/aloha/lib/aloha/selection.js +20 -1
- data/vendor/assets/javascripts/aloha/lib/aloha/sidebar.js +11 -1
- data/vendor/assets/javascripts/aloha/lib/jquery-plugin.js +10 -7
- data/vendor/assets/javascripts/aloha/lib/util/dom.js +18 -6
- data/vendor/assets/javascripts/aloha/lib/util/range.js +6 -6
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/ext-all-debug.js +26 -2
- data/vendor/assets/javascripts/aloha/lib/vendor/jquery.store.js +39 -15
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/lib/abbr-plugin.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/lib/align-plugin.js +344 -334
- data/vendor/assets/javascripts/aloha/plugins/common/block/css/block.css +65 -12
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block-plugin.js +12 -15
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block.js +796 -180
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockcontenthandler.js +54 -13
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockmanager.js +315 -78
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editor.js +111 -8
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editormanager.js +2 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/jquery-ui-1.8.16.custom.min.js +198 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/sidebarattributeeditor.js +7 -20
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/lib/characterpicker-plugin.js +15 -3
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/sanitizecontenthandler.js +3 -2
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/wordcontenthandler.js +111 -5
- data/vendor/assets/javascripts/aloha/plugins/common/dom-to-xhtml/lib/dom-to-xhtml-plugin.js +29 -0
- data/vendor/assets/javascripts/aloha/plugins/common/dom-to-xhtml/lib/dom-to-xhtml.js +306 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/lib/format-plugin.js +59 -5
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/i18n.js +1 -1
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/lib/horizontalruler-plugin.js +18 -3
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/crop-buttons.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/lib/image-plugin.js +1629 -1601
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jquery.jcrop.css +11 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/extra/linklist.js +8 -6
- data/vendor/assets/javascripts/aloha/plugins/common/link/lib/link-plugin.js +26 -10
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/de/i18n.js +5 -1
- data/vendor/assets/javascripts/aloha/plugins/common/paste/lib/paste-plugin.js +3 -4
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-cell.js +13 -12
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-plugin.js +108 -61
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-selection.js +61 -1
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/de/i18n.js +28 -1
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/i18n.js +36 -10
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browser.jqgrid.css +292 -292
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/browser.js +28 -5
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/locale.js +2 -2
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/grid.locale.de.js +6 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/grid.locale.en.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.jqGrid.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.jstree.js +6 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.ui.js +6 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/ui-layout.js +6 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/lib/cite-plugin.js +18 -4
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/lib/formatlesspaste-plugin.js +1 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/lib/linkbrowser-plugin.js +14 -2
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/js/aloha-config.js +2 -2
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/lib/toc-plugin.js +382 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/de/i18n.js +3 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/i18n.js +4 -0
- metadata +15 -11
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/i18n/de.json +0 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/i18n/en.json +0 -1
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/src/toc.js +0 -350
@@ -19,6 +19,17 @@
|
|
19
19
|
*height: 9px;
|
20
20
|
}
|
21
21
|
|
22
|
+
.cnr-crop-apply {
|
23
|
+
background-image: url(../../img/crop-buttons.gif) !important;
|
24
|
+
background-position: -2px -2px !important;
|
25
|
+
}
|
26
|
+
|
27
|
+
|
28
|
+
.cnr-crop-cancel {
|
29
|
+
background-image: url(../../img/crop-buttons.gif) !important;
|
30
|
+
background-position: 23px -2px !important;
|
31
|
+
}
|
32
|
+
|
22
33
|
.jcrop-tracker { width: 100%; height: 100%; }
|
23
34
|
|
24
35
|
.custom .jcrop-vline,
|
@@ -48,6 +48,13 @@ function ( Aloha, jQuery ) {
|
|
48
48
|
* additional properties to the items
|
49
49
|
*/
|
50
50
|
init: function () {
|
51
|
+
|
52
|
+
if ( typeof Aloha.settings.repositories !== 'undefined'
|
53
|
+
&& typeof Aloha.settings.repositories.linklist !== 'undefined'
|
54
|
+
&& typeof Aloha.settings.repositories.linklist.data !== 'undefined' ) {
|
55
|
+
urlset = Aloha.settings.repositories.linklist.data;
|
56
|
+
}
|
57
|
+
|
51
58
|
// Add ECMA262-5 Array method filter if not supported natively.
|
52
59
|
// But we will be very conservative and add to this single array
|
53
60
|
// object so that we do not tamper with the native Array prototype
|
@@ -69,11 +76,6 @@ function ( Aloha, jQuery ) {
|
|
69
76
|
};
|
70
77
|
}
|
71
78
|
|
72
|
-
if ( typeof Aloha.settings.repositories != 'undefined'
|
73
|
-
&& typeof Aloha.settings.repositories.linklist.data != 'undefined' ) {
|
74
|
-
urlset = Aloha.settings.repositories.linklist.data;
|
75
|
-
}
|
76
|
-
|
77
79
|
var l = urlset.length;
|
78
80
|
|
79
81
|
// generate folder structure
|
@@ -224,4 +226,4 @@ function ( Aloha, jQuery ) {
|
|
224
226
|
|
225
227
|
} ) )();
|
226
228
|
|
227
|
-
} );
|
229
|
+
} );
|
@@ -272,10 +272,8 @@ define( [
|
|
272
272
|
foundMarkup = that.findLinkMarkup( rangeObject );
|
273
273
|
|
274
274
|
if ( foundMarkup ) {
|
275
|
-
that.
|
276
|
-
|
277
|
-
FloatingMenu.setScope( 'link' );
|
278
|
-
|
275
|
+
that.toggleLinkScope( true );
|
276
|
+
|
279
277
|
// remember the current tab selected by the user
|
280
278
|
var currentTab = FloatingMenu.userActivatedTab;
|
281
279
|
|
@@ -306,9 +304,11 @@ define( [
|
|
306
304
|
}
|
307
305
|
}, 200 );
|
308
306
|
}
|
307
|
+
Aloha.trigger( 'aloha-link-selected' );
|
309
308
|
} else {
|
310
|
-
that.
|
309
|
+
that.toggleLinkScope( false );
|
311
310
|
that.hrefField.setTargetObject( null );
|
311
|
+
Aloha.trigger( 'aloha-link-unselected' );
|
312
312
|
}
|
313
313
|
}
|
314
314
|
|
@@ -316,6 +316,25 @@ define( [
|
|
316
316
|
} );
|
317
317
|
},
|
318
318
|
|
319
|
+
/**
|
320
|
+
* lets you toggle the link scope to true (link buttons are visible)
|
321
|
+
* or false (link buttons are hidden)
|
322
|
+
* @param show bool true to show link buttons, false otherwise
|
323
|
+
*/
|
324
|
+
toggleLinkScope: function ( show ) {
|
325
|
+
if ( show ) {
|
326
|
+
this.insertLinkButton.hide();
|
327
|
+
this.hrefField.show();
|
328
|
+
this.removeLinkButton.show();
|
329
|
+
this.formatLinkButton.setPressed( true );
|
330
|
+
} else {
|
331
|
+
this.insertLinkButton.show();
|
332
|
+
this.hrefField.hide();
|
333
|
+
this.removeLinkButton.hide();
|
334
|
+
this.formatLinkButton.setPressed( false );
|
335
|
+
}
|
336
|
+
},
|
337
|
+
|
319
338
|
/**
|
320
339
|
* Add event handlers to the given link object
|
321
340
|
* @param link object
|
@@ -393,9 +412,6 @@ define( [
|
|
393
412
|
1
|
394
413
|
);
|
395
414
|
|
396
|
-
// add the new scope for links
|
397
|
-
FloatingMenu.createScope( 'link', 'Aloha.continuoustext' );
|
398
|
-
|
399
415
|
this.hrefField = new Aloha.ui.AttributeField( {
|
400
416
|
'name': 'href',
|
401
417
|
'width': 320,
|
@@ -406,7 +422,7 @@ define( [
|
|
406
422
|
this.hrefField.setObjectTypeFilter( this.objectTypeFilter );
|
407
423
|
// add the input field for links
|
408
424
|
FloatingMenu.addButton(
|
409
|
-
'
|
425
|
+
'Aloha.continuoustext',
|
410
426
|
this.hrefField,
|
411
427
|
i18n.t( 'floatingmenu.tab.link' ),
|
412
428
|
1
|
@@ -422,7 +438,7 @@ define( [
|
|
422
438
|
} );
|
423
439
|
// add a button for removing the currently set link
|
424
440
|
FloatingMenu.addButton(
|
425
|
-
'
|
441
|
+
'Aloha.continuoustext',
|
426
442
|
this.removeLinkButton,
|
427
443
|
i18n.t( 'floatingmenu.tab.link' ),
|
428
444
|
1
|
@@ -1 +1,5 @@
|
|
1
|
-
define({"button.createulist.tooltip":"Unsortierte Liste einf\u00fcgen",
|
1
|
+
define({"button.createulist.tooltip":"Unsortierte Liste einf\u00fcgen",
|
2
|
+
"button.createolist.tooltip":"Sortierte Liste einf\u00fcgen",
|
3
|
+
"button.indentlist.tooltip":"Liste niedriger schieben",
|
4
|
+
"button.outdentlist.tooltip":"Liste h\u00F6her schieben",
|
5
|
+
"floatingmenu.tab.list":"Liste"});
|
@@ -84,8 +84,6 @@ function ( Aloha, Plugin, jQuery, Commands, console ) {
|
|
84
84
|
pasteDivContents = pasteDivContents.substring( 6 );
|
85
85
|
}
|
86
86
|
|
87
|
-
pasteDivContents = jQuery.trim( pasteDivContents );
|
88
|
-
|
89
87
|
// Detects a situation where we are about to paste into a selection
|
90
88
|
// that looks like this: <p> [</p>...
|
91
89
|
// The nbsp inside the <p> node was placed there to make the empty
|
@@ -142,7 +140,7 @@ function ( Aloha, Plugin, jQuery, Commands, console ) {
|
|
142
140
|
|
143
141
|
jQuery( 'body' ).append( $pasteDiv );
|
144
142
|
|
145
|
-
// subscribe to the event
|
143
|
+
// subscribe to the event aloha-editable-created to redirect paste events
|
146
144
|
// into our hidden pasteDiv
|
147
145
|
// TODO: move to paste command
|
148
146
|
// http://support.mozilla.com/en-US/kb/Granting%20JavaScript%20access%20to%20the%20clipboard
|
@@ -186,8 +184,9 @@ function ( Aloha, Plugin, jQuery, Commands, console ) {
|
|
186
184
|
window.setTimeout( function () {
|
187
185
|
getPastedContent();
|
188
186
|
Aloha.activeEditable.smartContentChange( event );
|
189
|
-
event.stopPropagation();
|
190
187
|
}, 10 );
|
188
|
+
|
189
|
+
event.stopPropagation();
|
191
190
|
} );
|
192
191
|
}
|
193
192
|
} );
|
@@ -115,7 +115,6 @@ function (jQuery, Utils) {
|
|
115
115
|
// Disabled the dragging of content, since it makes cell selection difficult
|
116
116
|
this.wrapper.get( 0 ).ondragstart = function () { return false };
|
117
117
|
}
|
118
|
-
|
119
118
|
return this;
|
120
119
|
};
|
121
120
|
|
@@ -126,14 +125,17 @@ function (jQuery, Utils) {
|
|
126
125
|
* @return void
|
127
126
|
*/
|
128
127
|
TableCell.prototype.deactivate = function() {
|
129
|
-
var wrapper = this.obj.children('.aloha-table-cell-editable');
|
128
|
+
var wrapper = jQuery(this.obj.children('.aloha-table-cell-editable'));
|
130
129
|
|
131
130
|
if (wrapper.length) {
|
132
|
-
//
|
133
|
-
|
134
|
-
|
131
|
+
// unwrap cell contents without re-creating dom nodes
|
132
|
+
wrapper.parent().append(
|
133
|
+
wrapper.contents()
|
134
|
+
);
|
135
|
+
|
135
136
|
// remove the contenteditable div and its attached events
|
136
137
|
wrapper.remove();
|
138
|
+
|
137
139
|
|
138
140
|
// remove the click event of the
|
139
141
|
this.obj.unbind('click');
|
@@ -141,10 +143,6 @@ function (jQuery, Utils) {
|
|
141
143
|
if (jQuery.trim(this.obj.attr('class')) == '') {
|
142
144
|
this.obj.removeAttr('class');
|
143
145
|
}
|
144
|
-
|
145
|
-
// set the inner html of the contenteditable div as html for the table-data
|
146
|
-
// field
|
147
|
-
this.obj.html(innerHtml);
|
148
146
|
}
|
149
147
|
}
|
150
148
|
|
@@ -203,7 +201,7 @@ function (jQuery, Utils) {
|
|
203
201
|
this.hasFocus = false;
|
204
202
|
|
205
203
|
// remove "active class"
|
206
|
-
this.obj.removeClass('aloha-table-
|
204
|
+
this.obj.removeClass('aloha-table-cell_active');
|
207
205
|
};
|
208
206
|
|
209
207
|
/**
|
@@ -228,20 +226,23 @@ function (jQuery, Utils) {
|
|
228
226
|
*/
|
229
227
|
TableCell.prototype._startCellSelection = function(){
|
230
228
|
if(!this.tableObj.selection.cellSelectionMode){
|
231
|
-
|
229
|
+
|
232
230
|
//unselect currently selected cells
|
233
231
|
this.tableObj.selection.unselectCells();
|
234
232
|
|
235
233
|
// activate cell selection mode
|
236
234
|
this.tableObj.selection.cellSelectionMode = true;
|
237
|
-
|
235
|
+
|
238
236
|
//bind a global mouseup event handler to stop cell selection
|
239
237
|
var that = this;
|
240
238
|
jQuery('body').bind('mouseup.cellselection', function(){
|
241
239
|
that._endCellSelection();
|
240
|
+
|
242
241
|
});
|
243
242
|
|
244
243
|
this.tableObj.selection.baseCellPosition = [this._virtualY(), this._virtualX()];
|
244
|
+
|
245
|
+
|
245
246
|
}
|
246
247
|
};
|
247
248
|
|
@@ -156,6 +156,32 @@ define( [
|
|
156
156
|
0 !== TablePlugin.activeTable.selection.selectedCells.length ) {
|
157
157
|
TablePlugin.updateFloatingMenuScope();
|
158
158
|
}
|
159
|
+
|
160
|
+
// check if selected cells are split/merge able and set button status
|
161
|
+
if ( typeof TablePlugin.activeTable !== 'undefined' &&
|
162
|
+
TablePlugin.activeTable.selection ) {
|
163
|
+
|
164
|
+
if ( TablePlugin.activeTable.selection.cellsAreSplitable() ) {
|
165
|
+
that.btnSplitcells.enable();
|
166
|
+
that.btnRowsplitcells.enable();
|
167
|
+
that.btnTablesplitcells.enable();
|
168
|
+
} else {
|
169
|
+
that.btnSplitcells.disable();
|
170
|
+
that.btnRowsplitcells.disable();
|
171
|
+
that.btnTablesplitcells.disable();
|
172
|
+
}
|
173
|
+
|
174
|
+
if ( TablePlugin.activeTable.selection.cellsAreMergeable() ) {
|
175
|
+
that.btnMergecells.enable();
|
176
|
+
that.btnRowmergecells.enable();
|
177
|
+
that.btnTablemergecells.enable();
|
178
|
+
} else {
|
179
|
+
that.btnMergecells.disable();
|
180
|
+
that.btnRowmergecells.disable();
|
181
|
+
that.btnTablemergecells.disable();
|
182
|
+
}
|
183
|
+
}
|
184
|
+
|
159
185
|
});
|
160
186
|
|
161
187
|
Aloha.bind( 'aloha-selection-changed', function (event, rangeObject) {
|
@@ -200,6 +226,14 @@ define( [
|
|
200
226
|
|
201
227
|
// subscribe for the 'editableActivated' event to activate all tables in the editable
|
202
228
|
Aloha.bind( 'aloha-editable-activated', function (event, props) {
|
229
|
+
// disable all split / merge buttons
|
230
|
+
that.btnSplitcells.disable();
|
231
|
+
that.btnRowsplitcells.disable();
|
232
|
+
that.btnTablesplitcells.disable();
|
233
|
+
that.btnMergecells.disable();
|
234
|
+
that.btnRowmergecells.disable();
|
235
|
+
that.btnTablemergecells.disable();
|
236
|
+
|
203
237
|
props.editable.obj.find('table').each(function () {
|
204
238
|
// shortcut for TableRegistry
|
205
239
|
var tr = TablePlugin.TableRegistry;
|
@@ -576,10 +610,7 @@ define( [
|
|
576
610
|
1
|
577
611
|
);
|
578
612
|
|
579
|
-
|
580
|
-
FloatingMenu.addButton(
|
581
|
-
this.name + '.row',
|
582
|
-
new Aloha.ui.Button({
|
613
|
+
this.btnRowmergecells = new Aloha.ui.Button({
|
583
614
|
'name' : 'rowmergecells',
|
584
615
|
'iconClass' : 'aloha-button aloha-button-merge-cells',
|
585
616
|
'size' : 'small',
|
@@ -590,14 +621,17 @@ define( [
|
|
590
621
|
that.activeTable.selection.mergeCells();
|
591
622
|
}
|
592
623
|
}
|
593
|
-
})
|
624
|
+
});
|
625
|
+
|
626
|
+
// Add merge/split cells buttons
|
627
|
+
FloatingMenu.addButton(
|
628
|
+
this.name + '.row',
|
629
|
+
this.btnRowmergecells,
|
594
630
|
i18n.t('floatingmenu.tab.table'),
|
595
631
|
1
|
596
632
|
);
|
597
633
|
|
598
|
-
|
599
|
-
this.name + '.row',
|
600
|
-
new Aloha.ui.Button({
|
634
|
+
this.btnRowsplitcells = new Aloha.ui.Button({
|
601
635
|
'name' : 'rowsplitcells',
|
602
636
|
'iconClass' : 'aloha-button aloha-button-split-cells',
|
603
637
|
'size' : 'small',
|
@@ -608,7 +642,11 @@ define( [
|
|
608
642
|
that.activeTable.selection.splitCells();
|
609
643
|
}
|
610
644
|
}
|
611
|
-
})
|
645
|
+
});
|
646
|
+
|
647
|
+
FloatingMenu.addButton(
|
648
|
+
this.name + '.row',
|
649
|
+
this.btnRowsplitcells,
|
612
650
|
i18n.t('floatingmenu.tab.table'),
|
613
651
|
1
|
614
652
|
);
|
@@ -626,16 +664,19 @@ define( [
|
|
626
664
|
var sc = that.activeTable.selection.selectedCells;
|
627
665
|
// if a selection was made, transform the selected cells
|
628
666
|
for (var i = 0; i < sc.length; i++) {
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
667
|
+
if ( jQuery(sc[i]).attr('class').indexOf(itemConf.cssClass) > -1 ) {
|
668
|
+
jQuery(sc[i]).removeClass(itemConf.cssClass);
|
669
|
+
} else {
|
670
|
+
jQuery(sc[i]).addClass(itemConf.cssClass);
|
671
|
+
// remove all row formattings
|
672
|
+
for (var f = 0; f < that.rowConfig.length; f++) {
|
673
|
+
if (that.rowConfig[f].cssClass != itemConf.cssClass) {
|
674
|
+
jQuery(sc[i]).removeClass(that.rowConfig[f].cssClass);
|
675
|
+
}
|
676
|
+
}
|
677
|
+
|
678
|
+
}
|
637
679
|
}
|
638
|
-
|
639
680
|
// selection could have changed.
|
640
681
|
that.activeTable.selectRows();
|
641
682
|
}
|
@@ -651,21 +692,18 @@ define( [
|
|
651
692
|
iconClass: 'aloha-button aloha-button-removeFormat',
|
652
693
|
wide: true,
|
653
694
|
click: function () {
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
that.activeTable.selectRows();
|
667
|
-
}
|
668
|
-
}
|
695
|
+
if (that.activeTable) {
|
696
|
+
var sc = that.activeTable.selection.selectedCells;
|
697
|
+
// if a selection was made, transform the selected cells
|
698
|
+
for (var i = 0; i < sc.length; i++) {
|
699
|
+
for (var f = 0; f < that.rowConfig.length; f++) {
|
700
|
+
jQuery(sc[i]).removeClass(that.rowConfig[f].cssClass);
|
701
|
+
}
|
702
|
+
}
|
703
|
+
// selection could have changed.
|
704
|
+
that.activeTable.selectRows();
|
705
|
+
}
|
706
|
+
}
|
669
707
|
});
|
670
708
|
}
|
671
709
|
|
@@ -801,10 +839,7 @@ define( [
|
|
801
839
|
1
|
802
840
|
);
|
803
841
|
|
804
|
-
|
805
|
-
FloatingMenu.addButton(
|
806
|
-
this.name + '.column',
|
807
|
-
new Aloha.ui.Button({
|
842
|
+
this.btnTablemergecells = new Aloha.ui.Button({
|
808
843
|
'name' : 'tablemergecells',
|
809
844
|
'iconClass' : 'aloha-button aloha-button-merge-cells',
|
810
845
|
'size' : 'small',
|
@@ -815,14 +850,17 @@ define( [
|
|
815
850
|
that.activeTable.selection.mergeCells();
|
816
851
|
}
|
817
852
|
}
|
818
|
-
})
|
853
|
+
});
|
854
|
+
|
855
|
+
// Add merge/split cells buttons
|
856
|
+
FloatingMenu.addButton(
|
857
|
+
this.name + '.column',
|
858
|
+
this.btnTablemergecells,
|
819
859
|
i18n.t('floatingmenu.tab.table'),
|
820
860
|
1
|
821
861
|
);
|
822
862
|
|
823
|
-
|
824
|
-
this.name + '.column',
|
825
|
-
new Aloha.ui.Button({
|
863
|
+
this.btnTablesplitcells = new Aloha.ui.Button({
|
826
864
|
'name' : 'tablesplitcells',
|
827
865
|
'iconClass' : 'aloha-button aloha-button-split-cells',
|
828
866
|
'size' : 'small',
|
@@ -833,7 +871,11 @@ define( [
|
|
833
871
|
that.activeTable.selection.splitCells();
|
834
872
|
}
|
835
873
|
}
|
836
|
-
})
|
874
|
+
});
|
875
|
+
|
876
|
+
FloatingMenu.addButton(
|
877
|
+
this.name + '.column',
|
878
|
+
this.btnTablesplitcells,
|
837
879
|
i18n.t('floatingmenu.tab.table'),
|
838
880
|
1
|
839
881
|
);
|
@@ -852,13 +894,16 @@ define( [
|
|
852
894
|
var sc = that.activeTable.selection.selectedCells;
|
853
895
|
// if a selection was made, transform the selected cells
|
854
896
|
for (var i = 0; i < sc.length; i++) {
|
855
|
-
|
856
|
-
|
897
|
+
if ( jQuery(sc[i]).attr('class').indexOf(itemConf.cssClass) > -1 ) {
|
898
|
+
jQuery(sc[i]).removeClass(itemConf.cssClass);
|
899
|
+
} else {
|
900
|
+
jQuery(sc[i]).addClass(itemConf.cssClass);
|
901
|
+
// remove all column formattings
|
857
902
|
for (var f = 0; f < that.columnConfig.length; f++) {
|
858
|
-
|
903
|
+
if (that.columnConfig[f].cssClass != itemConf.cssClass) {
|
904
|
+
jQuery(sc[i]).removeClass(that.columnConfig[f].cssClass);
|
905
|
+
}
|
859
906
|
}
|
860
|
-
// set new style
|
861
|
-
jQuery(sc[i][j]).addClass(itemConf.cssClass);
|
862
907
|
}
|
863
908
|
}
|
864
909
|
// selection could have changed.
|
@@ -882,13 +927,10 @@ define( [
|
|
882
927
|
var sc = that.activeTable.selection.selectedCells;
|
883
928
|
// if a selection was made, transform the selected cells
|
884
929
|
for (var i = 0; i < sc.length; i++) {
|
885
|
-
for (var
|
886
|
-
|
887
|
-
jQuery(sc[i][j]).removeClass(that.columnConfig[f].cssClass);
|
888
|
-
}
|
930
|
+
for (var f = 0; f < that.columnConfig.length; f++) {
|
931
|
+
jQuery(sc[i]).removeClass(that.columnConfig[f].cssClass);
|
889
932
|
}
|
890
933
|
}
|
891
|
-
|
892
934
|
// selection could have changed.
|
893
935
|
that.activeTable.selectColumns();
|
894
936
|
}
|
@@ -1004,10 +1046,7 @@ define( [
|
|
1004
1046
|
);
|
1005
1047
|
};
|
1006
1048
|
|
1007
|
-
|
1008
|
-
FloatingMenu.addButton(
|
1009
|
-
this.name + '.cell',
|
1010
|
-
new Aloha.ui.Button({
|
1049
|
+
this.btnMergecells = new Aloha.ui.Button({
|
1011
1050
|
'name' : 'mergecells',
|
1012
1051
|
'iconClass' : 'aloha-button aloha-button-merge-cells',
|
1013
1052
|
'size' : 'small',
|
@@ -1018,14 +1057,17 @@ define( [
|
|
1018
1057
|
that.activeTable.selection.mergeCells();
|
1019
1058
|
}
|
1020
1059
|
}
|
1021
|
-
})
|
1060
|
+
});
|
1061
|
+
|
1062
|
+
// Add merge/split cells buttons
|
1063
|
+
FloatingMenu.addButton(
|
1064
|
+
this.name + '.cell',
|
1065
|
+
this.btnMergecells,
|
1022
1066
|
i18n.t('floatingmenu.tab.table'),
|
1023
1067
|
1
|
1024
1068
|
);
|
1025
1069
|
|
1026
|
-
|
1027
|
-
this.name + '.cell',
|
1028
|
-
new Aloha.ui.Button({
|
1070
|
+
this.btnSplitcells = new Aloha.ui.Button({
|
1029
1071
|
'name' : 'splitcells',
|
1030
1072
|
'iconClass' : 'aloha-button aloha-button-split-cells',
|
1031
1073
|
'size' : 'small',
|
@@ -1036,7 +1078,11 @@ define( [
|
|
1036
1078
|
that.activeTable.selection.splitCells();
|
1037
1079
|
}
|
1038
1080
|
}
|
1039
|
-
})
|
1081
|
+
});
|
1082
|
+
|
1083
|
+
FloatingMenu.addButton(
|
1084
|
+
this.name + '.cell',
|
1085
|
+
this.btnSplitcells,
|
1040
1086
|
i18n.t('floatingmenu.tab.table'),
|
1041
1087
|
1
|
1042
1088
|
);
|
@@ -1107,6 +1153,7 @@ define( [
|
|
1107
1153
|
1
|
1108
1154
|
);
|
1109
1155
|
}
|
1156
|
+
|
1110
1157
|
};
|
1111
1158
|
|
1112
1159
|
/**
|