scratch – Blame information for rev 58
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
58 | office | 1 | /* =========================================================== |
2 | * trumbowyg.table.js v1.2 |
||
3 | * Table plugin for Trumbowyg |
||
4 | * http://alex-d.github.com/Trumbowyg |
||
5 | * =========================================================== |
||
6 | * Author : Lawrence Meckan |
||
7 | * Twitter : @absalomedia |
||
8 | * Website : absalom.biz |
||
9 | */ |
||
10 | |||
11 | (function ($) { |
||
12 | 'use strict'; |
||
13 | |||
14 | var defaultOptions = { |
||
15 | rows: 0, |
||
16 | columns: 0, |
||
17 | styler: '' |
||
18 | }; |
||
19 | |||
20 | $.extend(true, $.trumbowyg, { |
||
21 | langs: { |
||
22 | en: { |
||
23 | table: 'Insert table', |
||
24 | tableAddRow: 'Add rows', |
||
25 | tableAddColumn: 'Add columns', |
||
26 | rows: 'Rows', |
||
27 | columns: 'Columns', |
||
28 | styler: 'Table class', |
||
29 | error: 'Error' |
||
30 | }, |
||
31 | sk: { |
||
32 | table: 'Vytvoriť tabuľky', |
||
33 | tableAddRow: 'Pridať riadok', |
||
34 | tableAddColumn: 'Pridať stĺpec', |
||
35 | rows: 'Riadky', |
||
36 | columns: 'Stĺpce', |
||
37 | styler: 'Tabuľku triedy', |
||
38 | error: 'Chyba' |
||
39 | }, |
||
40 | fr: { |
||
41 | table: 'Insérer un tableau', |
||
42 | tableAddRow: 'Ajouter des lignes', |
||
43 | tableAddColumn: 'Ajouter des colonnes', |
||
44 | rows: 'Lignes', |
||
45 | columns: 'Colonnes', |
||
46 | styler: 'Classes CSS sur la table', |
||
47 | error: 'Erreur' |
||
48 | }, |
||
49 | cs: { |
||
50 | table: 'Vytvořit příkaz Table', |
||
51 | tableAddRow: 'Přidat řádek', |
||
52 | tableAddColumn: 'Přidat sloupec', |
||
53 | rows: 'Řádky', |
||
54 | columns: 'Sloupce', |
||
55 | styler: 'Tabulku třída', |
||
56 | error: 'Chyba' |
||
57 | } |
||
58 | }, |
||
59 | |||
60 | plugins: { |
||
61 | table: { |
||
62 | init: function (trumbowyg) { |
||
63 | trumbowyg.o.plugins.table = $.extend(true, {}, defaultOptions, trumbowyg.o.plugins.table || {}); |
||
64 | |||
65 | var tableBuild = { |
||
66 | fn: function () { |
||
67 | trumbowyg.saveRange(); |
||
68 | trumbowyg.openModalInsert( |
||
69 | // Title |
||
70 | trumbowyg.lang.table, |
||
71 | |||
72 | // Fields |
||
73 | { |
||
74 | rows: { |
||
75 | type: 'number', |
||
76 | required: true |
||
77 | }, |
||
78 | columns: { |
||
79 | type: 'number', |
||
80 | required: true |
||
81 | }, |
||
82 | styler: { |
||
83 | label: trumbowyg.lang.styler, |
||
84 | type: 'text' |
||
85 | } |
||
86 | }, |
||
87 | function (v) { // v is value |
||
88 | var tabler = $('<table></table>'); |
||
89 | if (v.styler.length !== 0) { |
||
90 | tabler.addClass(v.styler); |
||
91 | } |
||
92 | |||
93 | for (var i = 0; i < v.rows; i += 1) { |
||
94 | var row = $('<tr></tr>').appendTo(tabler); |
||
95 | for (var j = 0; j < v.columns; j += 1) { |
||
96 | $('<td></td>').appendTo(row); |
||
97 | } |
||
98 | } |
||
99 | |||
100 | trumbowyg.range.deleteContents(); |
||
101 | trumbowyg.range.insertNode(tabler[0]); |
||
102 | return true; |
||
103 | }); |
||
104 | } |
||
105 | }; |
||
106 | |||
107 | var addRow = { |
||
108 | fn: function () { |
||
109 | trumbowyg.saveRange(); |
||
110 | var rower = $('<tr></tr>'); |
||
111 | trumbowyg.range.deleteContents(); |
||
112 | trumbowyg.range.insertNode(rower[0]); |
||
113 | return true; |
||
114 | |||
115 | } |
||
116 | }; |
||
117 | |||
118 | var addColumn = { |
||
119 | fn: function () { |
||
120 | trumbowyg.saveRange(); |
||
121 | var columner = $('<td></td>'); |
||
122 | trumbowyg.range.deleteContents(); |
||
123 | trumbowyg.range.insertNode(columner[0]); |
||
124 | return true; |
||
125 | |||
126 | } |
||
127 | }; |
||
128 | |||
129 | trumbowyg.addBtnDef('table', tableBuild); |
||
130 | trumbowyg.addBtnDef('tableAddRow', addRow); |
||
131 | trumbowyg.addBtnDef('tableAddColumn', addColumn); |
||
132 | } |
||
133 | } |
||
134 | } |
||
135 | }); |
||
136 | })(jQuery); |