// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. (function($, cloudStack) { cloudStack.dialog = { /** * Error message form * * Returns callback, that can be plugged into a standard data provider response */ error: function(callback) { return function(args) { var message = args.message ? args.message : args; if (message) cloudStack.dialog.notice({ message: message }); if (callback) callback(); }; }, /** * Dialog with form */ createForm: function(args) { var $formContainer = $('
').addClass('form-container'); var $message = $('').addClass('message').appendTo($formContainer).html( _l(args.form.desc) ); var $form = $('
').appendTo($formContainer) .submit(function() { $(this).closest('.ui-dialog').find('button.ok').click(); return false; }); var createLabel = _l(args.form.createLabel); var $submit = $('') .attr({ type: 'submit' }) .hide() .appendTo($form); // Render fields and events var fields = $.map(args.form.fields, function(value, key) { return key; }) $(fields).each(function() { var key = this; var field = args.form.fields[key]; var $formItem = $('
') .addClass('form-item') .attr({ rel: key }); if(field.isHidden != null) { if (typeof(field.isHidden) == 'boolean' && field.isHidden == true) $formItem.hide(); else if (typeof(field.isHidden) == 'function' && field.isHidden() == true) $formItem.hide(); } $formItem.appendTo($form); //Handling Escape KeyPress events /* $('.ui-dialog').keypress(function(event) { if ( event.which == 27 ) { event.stopPropagation(); } }); $(document).ready(function(){ $('.ui-dialog').keydown(function(event) { if(event.keyCode == 27) { alert("you pressed the Escape key"); event.preventdefault(); } }) }); $(':ui-dialog').dialog({ closeOnEscape: false }); */ // Label field var $name = $('
').addClass('name') .appendTo($formItem) .append( $('