DIR : /home/kozerus/public_html/pn/uize/site-source/js/Uize/Widget/Dialog/mConfirm.js

/home/kozerus/public_html/pn/uize/site-source/js/Uize/Widget/Dialog

/*______________
|       ______  |   U I Z E    J A V A S C R I P T    F R A M E W O R K
|     /      /  |   ---------------------------------------------------
|    /    O /   |    MODULE : Uize.Widget.Dialog.mConfirm Mixin
|   /    / /    |
|  /    / /  /| |    ONLINE : http://www.uize.com
| /____/ /__/_| | COPYRIGHT : (c)2014-2016 UIZE
|          /___ |   LICENSE : Available under MIT License or GNU General Public License
|_______________|             http://www.uize.com/license.html
*/

/* Module Meta Data
	type: Mixin
	importance: 6
	codeCompleteness: 2
	docCompleteness: 2
*/

/*?
	Introduction
		The =Uize.Widget.Dialog.mConfirm= mixin module implements features to facilitate the creation of confirm dialogs (dialog subclasses).

		*DEVELOPERS:* `Rachel Lopatin`
*/

Uize.module ({
	name: 'Uize.Widget.Dialog.mConfirm',
	required: 'Uize.Widget.Form',
	builder:function () {
		'use strict';

		/*** Private Instance Methods ***/
		function _updateUiState (m) {
			m.isWired &&
				m.setNodeProperties (
					'icon',
					{className:'dialogIcon dialog' + Uize.capFirstChar (m.state) + 'Icon'}
				)
			;
		}

		function _updateUiMessage (m) {
			m.isWired && m.message != null && m.setNodeInnerHtml ('message',m.message);
		}

		function _updateUiMode (m) {
			m.isWired && m.children.cancel.showNode ('',!m.mode.indexOf ('confirm'));
		}

		return function (_class) {
			_class.declare({
				omegastructor: function () {
					var m = this;

					/*** add event handlers ***/
					function _handleConfirm(_event) { m.handleConfirm(_event) }
					m.wire({
						Ok: _handleConfirm,
						Cancel: _handleConfirm,
						Close: _handleConfirm
					});
				},

				instanceMethods: {
					handleConfirm: function (_event) {
						this.fire({ name: 'Submission Complete', result: _event.name == 'Ok' });
					},

					updateUi: function () {
						var m = this;
						_updateUiState(m);
						_updateUiMessage(m);
						_updateUiMode(m);
						_class.superclass.doMy(m, 'updateUi');
					}
				},

				stateProperties: {
					message: {
						name: 'message',
						onChange: function () { _updateUiMessage(this) },
						value: ''
					},
					mode: {
						name: 'mode',
						onChange: function () {
							var m = this;
							m.mode.indexOf('Custom') < 0 &&
								m.set({ defaultTitle: m.localize(m.mode == 'confirm' ? 'confirm' : 'attention') })
							;
							_updateUiMode(m);
						},
						value: 'confirm'
					},
					state: {
						name: 'state',
						onChange: function () { _updateUiState(this) },
						value: 'info'
						/* NOTES: states that are supported
							- info (eg. "i" in blue circle)
							- warning (eg. "!" in orange triangle)
							- error (eg. "!" in red triangle, or "x" in red circle)
							- confirm (eg. "?" in gray speech bubble)
							- success (eg. green check mark, or check mark in a circle)
						*/
					}
				}
			});
		};
		
	}
});

//


koh5_pano



Your browser does not support the HTML5 canvas element.


Drag mouse to navigate.

Navigation





17.Aug.2010, Martin Wengenmayer