Skip to content

Commit 6cfe539

Browse files
authored
Merge pull request #235 from systeminc/maki10PR
Updated tinymce
2 parents 2292b21 + 44f73a4 commit 6cfe539

File tree

108 files changed

+61044
-46675
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+61044
-46675
lines changed

src/package-lock.json

Lines changed: 2431 additions & 2381 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@
2020
"css-loader": "^0.28.9",
2121
"jquery": "^3.3.1",
2222
"laravel-mix": "0.*",
23-
"lodash": "^4.17.5",
23+
"lodash": "^4.17.11",
2424
"swiper": "^3.4.2"
2525
},
2626
"author": "Mladen Janjetovic, Nemanja Maric",
2727
"license": "ISC",
28-
"dependencies": {}
28+
"dependencies": {
29+
"timepicker": "^1.11.14"
30+
}
2931
}

src/resources/assets/dist/css/admin.css

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/resources/assets/dist/js/admin.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 160 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,160 @@
1-
/**
2-
* plugin.js
3-
*
4-
* Released under LGPL License.
5-
* Copyright (c) 1999-2015 Ephox Corp. All rights reserved
6-
*
7-
* License: http://www.tinymce.com/license
8-
* Contributing: http://www.tinymce.com/contributing
9-
*/
10-
11-
/*global tinymce:true */
12-
13-
tinymce.PluginManager.add('advlist', function(editor) {
14-
var olMenuItems, ulMenuItems;
15-
16-
var hasPlugin = function (editor, plugin) {
17-
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
18-
return tinymce.util.Tools.inArray(plugins.split(/[ ,]/), plugin) !== -1;
19-
};
20-
21-
function isChildOfBody(elm) {
22-
return editor.$.contains(editor.getBody(), elm);
23-
}
24-
25-
function isListNode(node) {
26-
return node && (/^(OL|UL|DL)$/).test(node.nodeName) && isChildOfBody(node);
27-
}
28-
29-
function buildMenuItems(listName, styleValues) {
30-
var items = [];
31-
if (styleValues) {
32-
tinymce.each(styleValues.split(/[ ,]/), function(styleValue) {
33-
items.push({
34-
text: styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function(chr) {
35-
return chr.toUpperCase();
36-
}),
37-
data: styleValue == 'default' ? '' : styleValue
38-
});
39-
});
40-
}
41-
return items;
42-
}
43-
44-
olMenuItems = buildMenuItems('OL', editor.getParam(
45-
"advlist_number_styles",
46-
"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"
47-
));
48-
49-
ulMenuItems = buildMenuItems('UL', editor.getParam("advlist_bullet_styles", "default,circle,disc,square"));
50-
51-
function applyListFormat(listName, styleValue) {
52-
editor.undoManager.transact(function() {
53-
var list, dom = editor.dom, sel = editor.selection;
54-
55-
// Check for existing list element
56-
list = dom.getParent(sel.getNode(), 'ol,ul');
57-
58-
// Switch/add list type if needed
59-
if (!list || list.nodeName != listName || styleValue === false) {
60-
var detail = {
61-
'list-style-type': styleValue ? styleValue : ''
62-
};
63-
64-
editor.execCommand(listName == 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList', false, detail);
65-
}
66-
67-
list = dom.getParent(sel.getNode(), 'ol,ul');
68-
if (list) {
69-
tinymce.util.Tools.each(dom.select('ol,ul', list).concat([list]), function (list) {
70-
if (list.nodeName !== listName && styleValue !== false) {
71-
list = dom.rename(list, listName);
72-
}
73-
74-
dom.setStyle(list, 'listStyleType', styleValue ? styleValue : null);
75-
list.removeAttribute('data-mce-style');
76-
});
77-
}
78-
79-
editor.focus();
80-
});
81-
}
82-
83-
function updateSelection(e) {
84-
var listStyleType = editor.dom.getStyle(editor.dom.getParent(editor.selection.getNode(), 'ol,ul'), 'listStyleType') || '';
85-
86-
e.control.items().each(function(ctrl) {
87-
ctrl.active(ctrl.settings.data === listStyleType);
88-
});
89-
}
90-
91-
var listState = function (listName) {
92-
return function () {
93-
var self = this;
94-
95-
editor.on('NodeChange', function (e) {
96-
var lists = tinymce.util.Tools.grep(e.parents, isListNode);
97-
self.active(lists.length > 0 && lists[0].nodeName === listName);
98-
});
99-
};
100-
};
101-
102-
if (hasPlugin(editor, "lists")) {
103-
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
104-
applyListFormat('UL', value['list-style-type']);
105-
});
106-
107-
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
108-
applyListFormat('OL', value['list-style-type']);
109-
});
110-
111-
editor.addButton('numlist', {
112-
type: (olMenuItems.length > 0) ? 'splitbutton' : 'button',
113-
tooltip: 'Numbered list',
114-
menu: olMenuItems,
115-
onPostRender: listState('OL'),
116-
onshow: updateSelection,
117-
onselect: function(e) {
118-
applyListFormat('OL', e.control.settings.data);
119-
},
120-
onclick: function() {
121-
applyListFormat('OL', false);
122-
}
123-
});
124-
125-
editor.addButton('bullist', {
126-
type: (ulMenuItems.length > 0) ? 'splitbutton' : 'button',
127-
tooltip: 'Bullet list',
128-
onPostRender: listState('UL'),
129-
menu: ulMenuItems,
130-
onshow: updateSelection,
131-
onselect: function(e) {
132-
applyListFormat('UL', e.control.settings.data);
133-
},
134-
onclick: function() {
135-
applyListFormat('UL', false);
136-
}
137-
});
138-
}
139-
});
1+
(function () {
2+
var advlist = (function () {
3+
'use strict';
4+
5+
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6+
7+
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
8+
9+
var applyListFormat = function (editor, listName, styleValue) {
10+
var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
11+
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
12+
};
13+
var Actions = { applyListFormat: applyListFormat };
14+
15+
var register = function (editor) {
16+
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
17+
Actions.applyListFormat(editor, 'UL', value['list-style-type']);
18+
});
19+
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
20+
Actions.applyListFormat(editor, 'OL', value['list-style-type']);
21+
});
22+
};
23+
var Commands = { register: register };
24+
25+
var getNumberStyles = function (editor) {
26+
var styles = editor.getParam('advlist_number_styles', 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman');
27+
return styles ? styles.split(/[ ,]/) : [];
28+
};
29+
var getBulletStyles = function (editor) {
30+
var styles = editor.getParam('advlist_bullet_styles', 'default,circle,disc,square');
31+
return styles ? styles.split(/[ ,]/) : [];
32+
};
33+
var Settings = {
34+
getNumberStyles: getNumberStyles,
35+
getBulletStyles: getBulletStyles
36+
};
37+
38+
var isChildOfBody = function (editor, elm) {
39+
return editor.$.contains(editor.getBody(), elm);
40+
};
41+
var isTableCellNode = function (node) {
42+
return node && /^(TH|TD)$/.test(node.nodeName);
43+
};
44+
var isListNode = function (editor) {
45+
return function (node) {
46+
return node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
47+
};
48+
};
49+
var getSelectedStyleType = function (editor) {
50+
var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
51+
return editor.dom.getStyle(listElm, 'listStyleType') || '';
52+
};
53+
var ListUtils = {
54+
isTableCellNode: isTableCellNode,
55+
isListNode: isListNode,
56+
getSelectedStyleType: getSelectedStyleType
57+
};
58+
59+
var styleValueToText = function (styleValue) {
60+
return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
61+
return chr.toUpperCase();
62+
});
63+
};
64+
var toMenuItems = function (styles) {
65+
return global$1.map(styles, function (styleValue) {
66+
var text = styleValueToText(styleValue);
67+
var data = styleValue === 'default' ? '' : styleValue;
68+
return {
69+
text: text,
70+
data: data
71+
};
72+
});
73+
};
74+
var ListStyles = { toMenuItems: toMenuItems };
75+
76+
var findIndex = function (list, predicate) {
77+
for (var index = 0; index < list.length; index++) {
78+
var element = list[index];
79+
if (predicate(element)) {
80+
return index;
81+
}
82+
}
83+
return -1;
84+
};
85+
var listState = function (editor, listName) {
86+
return function (e) {
87+
var ctrl = e.control;
88+
editor.on('NodeChange', function (e) {
89+
var tableCellIndex = findIndex(e.parents, ListUtils.isTableCellNode);
90+
var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
91+
var lists = global$1.grep(parents, ListUtils.isListNode(editor));
92+
ctrl.active(lists.length > 0 && lists[0].nodeName === listName);
93+
});
94+
};
95+
};
96+
var updateSelection = function (editor) {
97+
return function (e) {
98+
var listStyleType = ListUtils.getSelectedStyleType(editor);
99+
e.control.items().each(function (ctrl) {
100+
ctrl.active(ctrl.settings.data === listStyleType);
101+
});
102+
};
103+
};
104+
var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
105+
editor.addButton(id, {
106+
active: false,
107+
type: 'splitbutton',
108+
tooltip: tooltip,
109+
menu: ListStyles.toMenuItems(styles),
110+
onPostRender: listState(editor, nodeName),
111+
onshow: updateSelection(editor),
112+
onselect: function (e) {
113+
Actions.applyListFormat(editor, nodeName, e.control.settings.data);
114+
},
115+
onclick: function () {
116+
editor.execCommand(cmd);
117+
}
118+
});
119+
};
120+
var addButton = function (editor, id, tooltip, cmd, nodeName, styles) {
121+
editor.addButton(id, {
122+
active: false,
123+
type: 'button',
124+
tooltip: tooltip,
125+
onPostRender: listState(editor, nodeName),
126+
onclick: function () {
127+
editor.execCommand(cmd);
128+
}
129+
});
130+
};
131+
var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
132+
if (styles.length > 0) {
133+
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
134+
} else {
135+
addButton(editor, id, tooltip, cmd, nodeName, styles);
136+
}
137+
};
138+
var register$1 = function (editor) {
139+
addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', Settings.getNumberStyles(editor));
140+
addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', Settings.getBulletStyles(editor));
141+
};
142+
var Buttons = { register: register$1 };
143+
144+
global.add('advlist', function (editor) {
145+
var hasPlugin = function (editor, plugin) {
146+
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
147+
return global$1.inArray(plugins.split(/[ ,]/), plugin) !== -1;
148+
};
149+
if (hasPlugin(editor, 'lists')) {
150+
Buttons.register(editor);
151+
Commands.register(editor);
152+
}
153+
});
154+
function Plugin () {
155+
}
156+
157+
return Plugin;
158+
159+
}());
160+
})();

src/resources/assets/dist/js/plugins/advlist/plugin.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)