PageSourceSearch

https://moyakuhna.ru/local/templates/moyakuhna/ui-lib/modal.js?173980571513788

js moyakuhna.ru collected 2026-10-07 19:28:21 UTC 13,788 bytes, 662 lines download raw bytes

1var uiDialog = function (params) {
2	var uiTool = this;
3	uiTool.params = params || {};
4	uiTool.initTool("dialog");
5	
6	//Dialog
7	var wrapNode = uiTool.findNodeByCode("dialog");
8	
9	//wrapNode = $("#" + uiTool.params["dialogId"]);
10
11	
12	
13	if (! wrapNode && uiTool.params.create !== false) {
14		wrapNode = uiTool.createDialogNode();
15	}
16	//alert(wrapNode.prop("id"));
17	uiTool.setBaseNode("dialog", wrapNode);
18	
19	var contentNode = uiTool.findNodeByParams({nodeClass: "ui-dialog-content", nodeContainer: wrapNode});
20	if (contentNode) {
21		uiTool.setNode("content", contentNode);
22	}
23	
24	
25	
26	//Overlay
27	overlayNode = wrapNode.prev().filter(".ui-overlay");
28	if (! overlayNode.length) {
29		overlayNode = uiTool.createNodeByCode("overlay", {nodeClassEx: "ui-overlay"});
30		if (overlayNode) {
31			uiTool.setNode("overlay", overlayNode);
32			overlayNode.on("click", uiTool.hide)
33			if (wrapNode) {
34				overlayNode.insertBefore(wrapNode);
35			}
36		}
37	} else {
38		uiTool.setNode("overlay", overlayNode);
39	}
40	
41	//Close button
42	var closeButtonNode = uiTool.findChildNodeByCode("close", {nodeClass: "ui-dialog-close"});
43	if (closeButtonNode) {
44		uiTool.setNode("close", closeButtonNode);
45		closeButtonNode.on("click", uiTool.hide);
46	}	
47	
48	return uiTool;
49};
50
51uiDialog.prototype = Object.create(uiObject.prototype);
52uiDialog.prototype.constructor = uiDialog;
53
54uiDialog.prototype.ajax = function (params) {
55	var uiTool = this;
56	if (params)
57		uiTool.params["ajax"] = $.extend(uiTool.params["ajax"], params);
58
59	uiTool.params["ajax"]["uiTools"] = {};
60	uiTool.params["ajax"]["uiTools"]["dialog"] = this;
61	
62	uiTool.params["ajax"]["wrapNode"] = uiTool.getBaseNode();
63	uiTool.params["ajax"]["contentNode"] = uiTool.getNodeByCode("content");
64	
65	new uiAjax(uiTool.params["ajax"]).ajax();
66}
67
68uiDialog.prototype.showOnAjax = function () {
69	var uiTool = this;
70	
71	uiTool.ajax({
72		successEx: uiTool.show,
73	});
74	
75}
76
77uiDialog.prototype.show = function (uiTool) {
78	
79	var uiTool = uiLib.getTool("dialog", uiTool || this);
80	var wrapNode = uiTool.getBaseNode();
81	var contentNode = uiTool.getNodeByCode("content");
82	
83	if (uiTool.params["width"])
84		wrapNode.css("width", uiTool.params["width"] + "px");
85	if (uiTool.params["height"])
86		wrapNode.css("height", uiTool.params["height"] + "px");	
87	
88	
89	if (uiTool.params["autoSize"] || uiTool.params["autoSizeY"]) {
90
91		var hiddenDialog = $(    $('<div>').append(wrapNode.clone()).html()   );
92		
93
94		
95		hiddenDialog.css("opacity", "1").css("position", "absolute").css("top", "-0").css("left", "-0").css("right", "auto").css("bottom", "auto").css("margin", "").css("transition", "none"); //
96		hiddenDialog.css("min-height", "0").css("height", "auto").css("max-height", "none");
97		hiddenDialog.find("script").remove();
98		hiddenDialog.appendTo("body");
99
100
101		/*
102		//alert( hiddenDialog.outerHeight());
103		
104		hiddenDialog.show();
105		alert(hiddenDialog.find(".ui-dialog-content").html());
106		alert(hiddenDialog.outerHeight());
107		return;
108		*/
109		wrapNode.css("height", (hiddenDialog.outerHeight() + 10) + "px");
110		
111		hiddenDialog.remove();
112		
113		
114		
115		
116	}
117	
118	
119	
120		uiTool.showEffect();
121		
122		if (typeof(uiTool.params["success"]) == "function")
123			uiTool.params["success"]();
124	
125}
126
127uiDialog.prototype.hide = function (uiTool) {
128	var uiTool = uiLib.getTool("dialog", uiTool || this);
129	
130	if (uiTool) {
131		uiTool.hideEffect();
132	}
133	
134}
135
136
137uiDialog.prototype.showEffect = function () {
138	var uiTool = this;
139	var wrapNode = uiTool.getBaseNode();
140	if (wrapNode) {
141		wrapNode.fadeIn(750);
142	}
143
144	
145	
146	var overlayNode = uiTool.getNodeByCode("overlay");
147	if (overlayNode) {
148		overlayNode.fadeIn(750); 
149	}	
150}
151
152uiDialog.prototype.hideEffect = function () {
153	var uiTool = this;
154	
155	var overlayNode = uiTool.getNodeByCode("overlay");
156	if (overlayNode) {
157		overlayNode.fadeOut(350); 
158	}	
159	
160	var wrapNode = uiTool.getBaseNode();
161	if (wrapNode) {
162		wrapNode.fadeOut(350, uiTool.destroy); 
163	}	
164}
165
166uiDialog.prototype.destroy = function () {
167	var uiTool =  uiLib.getTool("dialog", uiTool || this);
168	var wrapNode = uiTool.getBaseNode();
169	wrapNode.remove("#" + wrapNode.prop("id")); //###
170}
171
172uiDialog.prototype.createDialogNode = function () {
173	var uiTool = this;
174	
175	if (! uiTool.params["dialogContent"]) {
176		var html = '';
177		html += '<div class="ui-dialog-header">';
178		html += 	'<div class="ui-dialog-title">'
179		html += 		uiTool.createNodeByCode("title").html();
180		html +=		'</div>';
181		html += 	'<div class="ui-dialog-close"></div>'; 
182		html += '</div>';
183		html += '<div class="ui-dialog-content">';
184		html +=		uiTool.createNodeByCode("content").html();
185		html += '</div>';
186
187		uiTool.params["dialogContent"] = html;
188	}
189	
190	uiTool.params["dialogClassEx"] = "ui-dialog";
191
192	var node = uiTool.createNodeByCode("dialog");
193	if (node) {
194		uiTool.baseNodeCode = "dialog";
195		node.css("display", "none");
196		$("body").append(node);
197		
198	}
199	
200	
201	
202	return node;
203}
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233/* uiJqDialog = function () {};
234uiJqDialog.prototype = Object.create(uiDialog.prototype);
235uiJqDialog.prototype.constructor = uiJqDialog;
236uiJqDialog.prototype.createDialogNode = function () {
237	var uiTool = this;
238	
239	if (! uiTool.params["dialogContent"]) {
240		var html = '';
241		html += '<div class="ui-dialog-header">';
242		html += 	'<div class="ui-dialog-titlebar">'; 
243		html += 		'<div class="ui-dialog-title">'
244		html += 			uiTool.createNodeByCode("title").html();
245		html +=			'</div>';
246		html += 		'<div class="ui-dialog-titlebar-close"></div>'; 
247		html += 	'</div>';
248		html += '</div>';
249		html += '<div class="ui-dialog-content">';
250		html +=		uiTool.createNodeByCode("content").html();
251		html += '</div>';
252
253		uiTool.params["dialogContent"] = html;
254	}
255*/
256
257
258
259
260
261
262
263
264/*
265var uiDialogBs = uiDialog;
266uiDialogBs.prototype = Object.create(uiDialog.prototype);
267uiDialogBs.prototype.constructor = uiDialogBs;
268
269uiDialogBs.prototype.createBaseNode = function () {
270	var uiTool = this;
271	
272	var wrapNode = uiTool.createNode("dialog");
273	wrapNode.addClass("modal");
274	wrapNode.prop("role", "dialog");
275	wrapNode.prop("tabindex", "-1");
276	
277	var html = '';
278	html += '<div class="modal-dialog" role="document">';
279	html += 	'<div class="modal-content">'; 
280	html += 		'<div class="modal-header">'; 
281	html +=				'Title';
282	html += 			'<button type="button" class="close" data-dismiss="modal" aria-label="Close">';
283	html += 				'<span aria-hidden="true">&times;</span>';
284	html +=				'</button>';
285	html +=			'</div>';
286	html +=			'<div class="modal-body">';
287	html +=				this.createNode("content").html();
288	html +=			'</div>';
289	html +=			'<div class="modal-footer">';
290	html +=				'Footer';
291	html +=			'</div>';
292	html +=		'</div>';
293	html +=	'</div>';
294	
295	wrapNode.append(html);
296	
297	return wrapNode;
298}
299*/
300
301
302
303
304
305//var dialog = uiTool.("dialog");
306
307
308
309
310
311
312/* 
313	if (! wrapNode) {
314		var wrapNode = $("<div/>");
315		if (params["dialogId"])
316			wrapNode.prop("id", params["dialogId"]);
317		wrapNode.prop("class", "ui-dialog " + params["dialogClass"]);		
318
319		uiTool.setNode("dialog", wrapNode);
320	}
321	
322*/
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346/*
347uiDialogLib.prototype.initWrap = function(wrapCode) {
348	return uiLib.initWrap(this, wrapCode);
349}
350
351uiDialogLib.prototype.setWrap = function(wrapCode) {
352	return uiLib.setWrap(this, wrapCode);
353}
354
355uiDialogLib.prototype.getWrap = function(wrapCode) {
356	if (this.wraps[wrapCode]) {
357		return this.wraps[wrapCode];
358	} else {
359		return uiLib.initWrap(this, wrapCode);
360	}
361}
362
363uiDialogLib.setWrap = function(wrapCode) {
364	var params = this.params;
365	
366	var wrap = $("<div/>");
367	
368	var idAttr = params[wrapCode + "Id"];
369	if (params[idAttr])
370		dialogWrap.prop("id", idAttr);
371	
372	var cAttr = params[wrapCode + "Id"];
373	dialogWrap.prop("class", "ui-dialog " + params["dialogClass"]);		
374	
375	$("body").append(dialogWrap);	
376};
377
378uiDialogLib.prototype.get = function (selector) {
379	return uiLib.getWrap(selector, ".ui-dialog").data("ui-dialog");
380}
381
382uiDialogLib.prototype.create = function (params) {
383	var uiTool = this;
384	uiTool.params = params || {};
385
386	var dialogWrap = uiTool.initWrap("dialog");
387	if (! dialogWrap) {
388		var dialogWrap = $("<div/>");
389		if (params["dialogId"])
390			dialogWrap.prop("id", params["dialogId"]);
391		dialogWrap.prop("class", "ui-dialog " + params["dialogClass"]);		
392		dialogWrap.css("display", "none");
393		dialogWrap.append(uiTool.getCreateHtml());
394		$("body").append(dialogWrap);
395		uiTool.wraps["dialog"] = dialogWrap;
396	}
397	dialogWrap.data("ui-dialog", uiTool);
398	
399	if (params["url"]) {
400		uiTool.refresh();
401	} 
402	
403	if (! params["url"]) {
404		uiTool.show();
405	}
406	
407	return uiTool;
408}
409
410
411
412
413uiDialogLib.prototype.getCreateHtml = function()
414{
415	var html = '';
416	html += '<div class="ui-dialog-header"></div>';
417	html += '	<div class="ui-dialog-titlebar">'; 
418	html += '		<div class="ui-dialog-title">Заголовок</div>';
419	html += '		<div class="ui-dialog-titlebar-close"></div>'; 
420	html += '	</div>';
421	html += '</div>';
422	html += '<div class="ui-dialog-content">';
423	html += '</div>';
424	return html;
425}
426
427uiDialogLib.prototype.refresh = function () {
428	var uiTool = this;
429	var params = uiTool.params;
430	
431	if (! uiTool.ajaxParams) {
432		var url = params["url"];		
433		uiTool.ajaxParams = {tool: uiTool, url: url};
434		
435		if (! uiTool.ajaxParams["method"])
436			uiTool.ajaxParams["method"] = "post";
437		
438		uiTool.ajaxParams["success"] = uiTool.ajaxSuccess;		
439	}
440	
441
442		
443	$.ajax(uiTool.ajaxParams);
444}
445
446
447
448uiDialogLib.prototype.ajaxSuccess = function (ajaxResponse) {
449	var uiTool = this.tool;
450	var params = uiTool.params;
451	
452	var ajaxWrap = $('<div/>').html(ajaxResponse);
453	var dialogWrap = uiTool.getWrap("dialog");
454	var contentWrap = uiTool.getWrap("content") || dialogWrap;
455	
456	if (dialogWrap.prop("id") && ajaxWrap.find("#" + dialogWrap.prop("id")))
457		ajaxWrap = ajaxWrap.find("#" + dialogWrap.prop("id")).html();
458	else if (dialogWrap != contentWrap && contentWrap.prop("id") && ajaxWrap.find("#" + contentWrap.prop("id")))
459		ajaxWrap = ajaxWrap.find("#" + contentWrap.prop("id")).html();
460	
461	contentWrap.html(ajaxWrap);
462	
463	if (typeof(params["success"]) == "function")
464		params["success"](uiTool);
465	
466}
467
468uiDialogLib.prototype.show = function () {
469	var uiTool = this;
470	uiTool.showEffect();
471}
472
473uiDialogLib.prototype.hide = function () {
474	var uiTool = this;
475	this.hideEffect();
476}
477
478uiDialogLib.prototype.showEffect = function() {
479	var dialogWrap = this.getWrap("dialog");
480	if (dialogWrap) {
481		dialogWrap.fadeIn(450);
482	}
483}
484
485uiDialogLib.prototype.hideEffect = function() {
486	var dialogWrap = this.getWrap("dialog");
487	if (dialogWrap) {
488		dialogWrap.fadeOut(450);
489	}
490}
491
492var uiDialog = new uiDialogLib;
493
494*/
495
496/* uiDialogLib.prototype.create = function (params) {
497	var uiDialog = this;
498	uiDialog.params = params || {};
499	
500	var dialogWrap = uiDialog.initWrap("dialog");
501	if (! dialogWrap) {
502		var dialogWrap = $("<div/>");
503		if (params["dialogId"])
504			dialogWrap.prop("id", params["dialogId"]);
505		dialogWrap.prop("class", "ui-dialog " + params["dialogClass"]);		
506		dialogWrap.css("display", "none");
507		$("body").append(dialogWrap);
508		
509		dialogWrap.append("<div class='body'></div>");
510		
511		uiDialog.wraps["dialog"] = dialogWrap;
512	}
513	
514	
515	
516	
517	//var formWrap = uiLib.initWrap(uiDialog, "form");
518	
519	
520
521	return uiDialog;
522}
523
524uiDialogLib.prototype.show = function () {
525	var uiDialog = this;
526	var dialogWrap = uiDialog.getWrap("dialog");
527	if (dialogWrap) {
528		dialogWrap.fadeIn(350);
529	}
530}
531
532uiDialogLib.prototype.hide = function () {
533	var uiDialog = this;
534	var dialogWrap = uiDialog.getWrap("dialog");
535	if (dialogWrap) {
536		dialogWrap.fadeOut(350);
537	}	
538}
539
540
541
542
543uiDialogLib.prototype.get = function (selector) {
544	return uiLib.get(selector, "ui-dialog");
545}
546
547var uiDialogLib = new uiDialogLib;
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562*/
563
564var dfgdfg = function() {
565	return {
566		'__proto__': uiDialogPrototype,
567		'params': {},
568		'wrap': false,
569		
570		
571		
572		/* 'show': function() {
573			var $wrap = this.wrap;
574			$wrap.fadeIn(1200);
575		},
576		'hide': function () {
577			var $wrap = this.wrap;
578			$wrap.fadeOut(800);
579		}, */
580		
581	};
582};
583/*
584uiDialog.create = function (params) {
585	var dialog = false;
586	var params = params || {};
587	
588	$container =  params["containerSelector"] ? $(params["containerSelector"]) : $("body");
589	if ($container.length != 1)
590		return false;
591	
592	//Id
593	if (! params["wrapId"]) {
594		i = 1;
595		while($("#" + "s" + i + "-dialog").length)
596			i++;
597		params["wrapId"] = "s" + i + "-dialog";
598	}
599	if (! params["wrapClass"]) {
600		params["wrapClass"] = "ui-dialog-normal";
601	}
602	
603	//Html
604	if (! params["wrapSelector"]) {
605		dialogHtml = '';
606		if (params["overlayShow"] != false) {
607			dialogHtml += '<div id="' + params["wrapId"] + '-overlay" class="ui-overlay" style="display:none"></div>';
608		}	
609		dialogHtml += '<div id="' + params["wrapId"] + '" class="ui-dialog ' + params["wrapClass"] + '" style="display:none">';
610		if (params["headerShow"] == true) {
611			dialogHtml += '<div class="ui-dialog-header">';
612			dialogHtml += '<div class="ui-dialog-title">' + params["title"] + '</div>';
613			if (true) {	
614				dialogHtml += '<span class="ui-dialog-hide" onclick="var dialog = uiDialog.get(this); if (typeOf(dialog.hide) == "function") dialog.hide();"></span>';
615			}
616			dialogHtml += '</div>';
617		}
618		dialogHtml += '<div class="ui-dialog-content"></div>';
619		dialogHtml += '</div>';
620	}
621	
622	//Apply
623	//alert(dialogHtml);
624	$container.append(dialogHtml);
625	
626	var dialog = new uiDialog();
627	dialog["params"] = params;
628	dialog["wrap"] = $("#" + params["wrapId"]).eq(0);
629	dialog.show();
630	dialog.refresh();
631	//$("#" + params["wrapId"]).show();
632	return dialog;
633	
634}
635
636var uiDialogPrototype = {};
637
638uiDialogPrototype.show = function () {
639	var $wrap = this.wrap;
640	$wrap.fadeIn(1200);
641}
642
643uiDialogPrototype.hide = function () {
644	var $wrap = this.wrap;
645	$wrap.fadeOut(800);
646}
647
648uiDialogPrototype.refresh = function (param)
649{
650	//alert('refresh!');
651}
652
653
654/* uiDialogLib.prototype.get = function () {
655	var selector = "";
656	if (params["dialogId"])
657		selector += "#" + params["dialogId"];
658	if (params["dialogClass"])
659		selector += "." + params["dialogClass"].replace(" ", ".");	
660	selector += ".ui-dialog"
661	return uiLibProto.getWrap(selector);
662} */

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.