+ }\r
+ updatePreview( dialog );\r
+ };\r
+\r
+ var updatePreview = function( dialog )\r
+ {\r
+ //Don't load before onShow.\r
+ if ( !dialog.originalElement || !dialog.preview )\r
+ return 1;\r
+\r
+ // Read attributes and update imagePreview;\r
+ dialog.commitContent( PREVIEW, dialog.preview );\r
+ return 0;\r
+ };\r
+\r
+ // Custom commit dialog logic, where we're intended to give inline style\r
+ // field (txtdlgGenStyle) higher priority to avoid overwriting styles contribute\r
+ // by other fields.\r
+ function commitContent()\r
+ {\r
+ var args = arguments;\r
+ var inlineStyleField = this.getContentElement( 'advanced', 'txtdlgGenStyle' );\r
+ inlineStyleField && inlineStyleField.commit.apply( inlineStyleField, args );\r
+\r
+ this.foreach( function( widget )\r
+ {\r
+ if ( widget.commit && widget.id != 'txtdlgGenStyle' )\r
+ widget.commit.apply( widget, args );\r
+ });\r
+ }\r
+\r
+ // Avoid recursions.\r
+ var incommit;\r
+\r
+ // Synchronous field values to other impacted fields is required, e.g. border\r
+ // size change should alter inline-style text as well.\r
+ function commitInternally( targetFields )\r
+ {\r
+ if ( incommit )\r
+ return;\r
+\r
+ incommit = 1;\r
+\r
+ var dialog = this.getDialog(),\r
+ element = dialog.imageElement;\r
+ if ( element )\r
+ {\r
+ // Commit this field and broadcast to target fields.\r
+ this.commit( IMAGE, element );\r
+\r
+ targetFields = [].concat( targetFields );\r
+ var length = targetFields.length,\r
+ field;\r
+ for ( var i = 0; i < length; i++ )\r