// -------------------------------------------------------------------------
ns.paste_template = function(key, opt, other_data) {
- open_jqm_window({ url: 'controller.pl?action=RequirementSpec/select_template_to_paste' });
+ kivi.popup_dialog({ url: 'controller.pl?action=RequirementSpec/select_template_to_paste', dialog: { title: kivi.t8("Select template to paste") } });
};
ns.paste_selected_template = function(template_id) {
- $('#jqm_popup_dialog').jqmClose();
+ $('#jqueryui_popup_dialog').dialog("close");
var data = {
action: "RequirementSpec/paste_template",
return true;
};
+// -------------------------------------------------------------------------
+// ---------------------------- basic settings -----------------------------
+// -------------------------------------------------------------------------
+ns.standard_basic_settings_ajax_call = function(key, opt) {
+ if (key == 'cancel') {
+ if (confirm(kivi.t8('Do you really want to cancel?'))) {
+ $('#basic_settings').show();
+ $('#basic_settings_form').remove();
+ }
+ return true;
+ }
+
+ var data = 'action=RequirementSpec/ajax_' + key + '&id=' + encodeURIComponent($('#requirement_spec_id').val());
+
+ $.post("controller.pl", data, kivi.eval_json_result);
+
+ return true;
+};
+
// -------------------------------------------------------------------------
// -------------------------- time/cost estimate ---------------------------
// -------------------------------------------------------------------------
ns.standard_time_cost_estimate_ajax_call = function(key, opt) {
- if ((key == 'cancel') && !confirm(kivi.t8('Do you really want to cancel?')))
+ if (key == 'cancel') {
+ if (confirm(kivi.t8('Do you really want to cancel?'))) {
+ $('#time_cost_estimate').show();
+ $('#time_cost_estimate_form_container').remove();
+ }
return true;
+ }
var data = "action=RequirementSpec/ajax_" + key + "_time_and_cost_estimate&";
};
ns.standard_quotation_order_ajax_call = function(key, opt) {
- if ((key == 'cancel') && !confirm(kivi.t8('Do you really want to cancel?')))
+ if (key == 'cancel') {
+ if (confirm(kivi.t8('Do you really want to cancel?'))) {
+ $('#quotations_and_orders').show();
+ $('#quotations_and_orders_article_assignment,#quotations_and_orders_new,#quotations_and_orders_update').remove();
+ }
return true;
+ }
else if ((key == 'create') && $('#quotations_and_orders_form INPUT[name="sections[].order_part_id"]').filter(function(idx, elt) { return ($(elt).val() || '') == '' }).size()) {
alert(kivi.t8('There is one or more sections for which no part has been assigned yet; therefore creating the new record is not possible yet.'));
};
ns.assign_order_part_id_to_all = function() {
- var order_part_id = $('#quoations_and_orders_order_id').val();
- $('#quotations_and_orders_form SELECT[name="sections[].order_part_id"]').each(function(idx, elt) {
+ var order_part_id = $('#quotations_and_orders_order_id').val();
+ var order_part_name = $('#quotations_and_orders_order_id_name').val();
+
+ $('#quotations_and_orders_form INPUT[name="sections[].order_part_id"]').each(function(idx, elt) {
$(elt).val(order_part_id);
});
+
+ $('#quotations_and_orders_form [id^=quotations_and_orders_sections_order_pard_id_]').filter(function() {
+ return $(this).attr('id') && $(this).attr('id').match("^quotations_and_orders_sections_order_pard_id_[0-9]+_name$");
+ }).each(function(idx, elt) {
+ $(elt).val(order_part_name);
+ });
};
// -------------------------------------------------------------------------
};
ns.create_version = function() {
- open_jqm_window({ url: 'controller.pl',
- data: { action: 'RequirementSpecVersion/new',
- requirement_spec_id: $('#requirement_spec_id').val() },
- id: 'new_requirement_spec_version_window' });
+ kivi.popup_dialog({ url: 'controller.pl',
+ data: { action: 'RequirementSpecVersion/new',
+ requirement_spec_id: $('#requirement_spec_id').val() },
+ dialog: { title: kivi.t8('Create a new version') }});
return true;
};
return true;
};
+// -------------------------------------------------------------------------
+// ------------------------------- tab widget ------------------------------
+// -------------------------------------------------------------------------
+var content_div_ids_for_tab_headers = {
+ 'tab-header-function-block': 'function-blocks-tab'
+ , 'tab-header-basic-settings': 'ui-tabs-1'
+ , 'tab-header-time-cost-estimate': 'ui-tabs-2'
+ , 'tab-header-versions': 'ui-tabs-3'
+ , 'tab-header-quotations-orders': 'ui-tabs-4'
+};
+
+ns.tabs_before_activate = function(event, ui) {
+ if (!ui.oldTab)
+ return true;
+
+ var content_div_id = content_div_ids_for_tab_headers[ $(ui.oldTab).attr('id') ];
+ if (!content_div_id || (content_div_id == 'function-blocks-tab'))
+ return true;
+
+ var inputs = $('#' + content_div_id).find('input,select,textarea').filter('[type!=hidden]');
+ if (!inputs.size() || confirm(kivi.t8("If you switch to a different tab without saving you will lose the data you've entered in the current tab.")))
+ return true;
+
+ var new_focus = $(inputs).filter(':focusable')[0];
+ if (new_focus)
+ $(new_focus).focus();
+
+ return false;
+};
+
// -------------------------------------------------------------------------
// ----------------------------- context menus -----------------------------
// -------------------------------------------------------------------------
}, general_actions)
});
+ $.contextMenu({
+ selector: '.basic-settings-context-menu',
+ items: $.extend({
+ heading: { name: kivi.t8('Basic settings actions'), className: 'context-menu-heading' }
+ , edit: { name: kivi.t8('Edit'), icon: "edit", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
+ }, general_actions)
+ });
+
+ $.contextMenu({
+ selector: '.edit-basic-settings-context-menu',
+ items: $.extend({
+ heading: { name: kivi.t8('Basic settings actions'), className: 'context-menu-heading' }
+ , save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
+ , cancel: { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
+ }, general_actions)
+ });
+
$.contextMenu({
selector: '.time-cost-estimate-context-menu',
items: $.extend({