PageSourceSearch

https://www.immaterieelerfgoed.nl/lib/js/remark_widget~remarks_widget~1149243530.js

js immaterieelerfgoed.nl collected 2026-09-24 20:13:46 UTC 7,648 bytes, 268 lines download raw bytes

1(function ($) {
2   'use strict';
3
4    $.widget( "ui.remark_widget", {
5        _init: function() {
6            this.init();
7        },
8
9        init: function() {
10
11            var me = this,
12                widgetElement = $(me.element);
13
14                me.widgetElement = widgetElement;
15
16                widgetElement.on('click', '.remark-cancel', function() {
17                    var editing = me.widgetElement.data('editing');
18                    $.proxy(me.switchToView(), me);
19                    return false;
20                });
21
22                widgetElement.on('click', '.remark-edit', function() {
23                    var editing = me.widgetElement.data('editing');
24                    $.proxy(me.switchToEdit(), me);
25                    return false;
26                });
27
28                widgetElement.on('click', '.remark-save', function() {
29                    $.proxy(me.save(), me);
30                    return false;
31                });
32
33                widgetElement.on('click', '.remark-delete', function() {
34                    var remark_id = me.widgetElement.data('remarkid');
35
36                    $.proxy(me.delete(remark_id), me);
37                    return false;
38                });
39
40                widgetElement.on('click', '.depiction-delete', function() {
41                    var depiction_id = $(this).data('id');
42
43                    $.proxy(me.delete(depiction_id), me);
44
45                    return false;
46                });
47
48        },
49
50        switchToEdit: function() {
51
52            var me = this,
53                remark_id = me.widgetElement.data('remarkid'),
54                id = me.widgetElement.data('id'),
55                unique = me.widgetElement.data('unique');
56
57            me.widgetElement.data('editing', 1);
58
59            z_event('render_remark_'+unique, {'editing':1, 'remark_id': remark_id, 'id': id});
60
61            return false;
62
63        },
64
65        switchToView: function() {
66
67            var me = this,
68                remark_id = me.widgetElement.data('remarkid'),
69                id = me.widgetElement.data('id'),
70                unique = me.widgetElement.data('unique');
71
72            me.widgetElement.data('editing', '0');
73
74            z_event('render_remark_' + unique, {'editing':0, 'remark_id': remark_id, 'id': id });
75
76            return false;
77
78        },
79
80        setValues: function(remark_id) {
81
82            var me = this;
83
84            if (remark_id) {
85                me.widgetElement.data('remarkid', remark_id);
86            }
87
88        },
89
90        save: function() {
91
92            var me = this,
93                form = me.widgetElement.find('#rscform'),
94                tinyname = form.data('tinyname'),
95                contentText = tinymce.get(tinyname).getContent({'format':'text'}).trim(),
96                anonymousName = $('#anonymous_name'),
97                anonymousEmail = $('#anonymous_email'),
98                title = $('input#title'),
99                valid = true,
100                re = /[a-z A-Z 0-1]+/i,
101                em = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
102
103            var rawContent = tinymce.get(tinyname).getContent({'format':'raw'});
104
105            rawContent = rawContent.replace(/<img([^>])*>/gi, 'img').trim();
106            rawContent = $(rawContent).text();
107
108            form.find('.has-error').each(function() {
109                $(this).removeClass('has-error is-error');
110            });
111
112
113            if (!rawContent || rawContent == "") {
114                $('.mce-tinymce').parent().addClass('has-error is-error');
115                valid = false;
116            }
117
118            if (!re.test(title.val())) {
119                title.parent().addClass('has-error is-error');
120                valid = false;
121            }
122
123            if (anonymousName.length > 0) {
124                if (!re.test(anonymousName.val())) {
125                    anonymousName.parent().addClass('has-error is-error');
126                    valid = false;
127                }
128
129                if (!em.test(anonymousEmail.val())) {
130                    anonymousEmail.parent().addClass('has-error is-error');
131                    valid = false;
132                }
133            }
134            if (valid) {
135                $('.remark-save').hide();
136                $('.remark-cancel').hide();
137                $(form).submit();
138                return false;
139            }
140
141
142            return false;
143        },
144
145        afterSave: function() {
146
147            var me = this;
148            me.switchToView();
149        },
150
151        delete: function(id) {
152
153            var me = this;
154
155            z_event('rsc_delete_' + id);
156        },
157
158        afterDelete: function() {
159
160            var me = this;
161
162            delete z_registered_events['rsc_delete_' + me.widgetElement.data('remarkid')];
163            delete z_registered_events['render_remark_' + me.widgetElement.data('unique')];
164
165            if (me.widgetElement) me.widgetElement.remove();
166
167        },
168
169        afterDepictionDelete: function() {
170
171            var me = this;
172
173            me.switchToView();
174
175        }
176
177    });
178})(jQuery);
179(function ($) {
180   'use strict';
181
182    $.widget( "ui.remarks_widget", {
183        _init: function() {
184            this.init();
185        },
186
187        init: function() {
188
189            var me = this,
190                widgetElement = $(me.element),
191                showForm = widgetElement.data('show_form');
192
193                widgetElement.on('click', '.remark-new', function() {
194                    z_event('new_remark');
195                    return false;
196                });
197
198                $(document).on('remark:editing', function(event, remark_id) {
199                    $('.remark-edit').hide();
200                    $('.remark-delete').hide();
201                    $('.remark-new').hide();
202                });
203
204
205                $(document).on('remark:viewing', function(event, remark_id) {
206                    $('.remark-edit').show();
207                    $('.remark-delete').show();
208                    $('.remark-new').show();
209                });
210
211                $(document).on('remark:new', function(e, remark_id) {
212                    var el = $('#remark_' + remark_id).closest('.do_remark_widget'),
213                        widget = el.data('ui-remark_widget');
214
215                    widget.setValues(remark_id);
216                });
217
218                $(document).on('remark:deleted', function(e, remark_id) {
219                    var widget = me.getWidget(remark_id);
220
221                    widget.afterDelete();
222                });
223
224                $(document).on('depiction:deleted', function(e, depiction_id, remark_id) {
225                     var widget = me.getWidget(remark_id);
226
227                     widget.afterDepictionDelete(depiction_id);
228                });
229
230                $(document).on('remark:saved', function(e, remark_id) {
231                    var widget = me.getWidget(remark_id);
232
233                    widget.afterSave();
234                    if(showForm === true){
235                        z_event('new_remark');
236                    }
237
238                });
239
240        },
241
242        getWidget: function(remark_id) {
243
244            var els = $("[data-remarkid]"),
245                foundEl,
246                ref;
247
248            $.each(els, function(i, el) {
249
250                var $el = $(el);
251                var dataid = $el.data('remarkid');
252
253                if (dataid == remark_id) {
254                    foundEl = $el;
255                }
256
257            });
258
259            if (foundEl) {
260                ref = foundEl.data('ui-remark_widget');
261            }
262
263            return ref;
264        }
265
266
267    });
268})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.