Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 8th, 2011  |  syntax: JavaScript  |  size: 30.92 KB  |  hits: 146  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Ext.require([
  2.  
  3.         'Ext.form.*',
  4.         'Ext.grid.*',
  5.         'Ext.tree.*',
  6.         'Ext.data.*',
  7.         'Ext.util.*',
  8.         'Ext.window.MessageBox',
  9.             'Ext.tip.*',
  10.             'Ext.state.*'
  11.  
  12. ]);
  13.  
  14. Ext.onReady(function(){
  15.  
  16.         Ext.QuickTips.init();
  17.        
  18.        
  19.          function formatDate(value){
  20.    
  21.        
  22.                 if ( value != '' ) {
  23.      
  24.                         var dt = new Date(value);
  25.                         var date = Ext.Date.dateFormat(dt, 'Y-m-d');
  26.                        
  27.                         return date;
  28.        } else {
  29.                    
  30.                    return '';
  31.            }
  32.      
  33.     }
  34.    
  35.    
  36.         var tabValue = new Array();
  37.         var saveneeded = false;
  38.         var indexsaveneed = 0;
  39.         var insertnew = true;
  40.        
  41.         getSortOrder = function(precedent,suivant){
  42.                        
  43.                         if ( precedent != undefined ){
  44.                                 var dprec = precedent.data;
  45.                         }
  46.                         if ( suivant != undefined ) {
  47.                                 var dnext = suivant.data;
  48.                         }
  49.                         var precorder = 0 ;
  50.                         var nextorder = 0;
  51.                         if ( dprec != undefined ) {
  52.                                 Ext.Object.each(dprec,function(key,value,index){
  53.                                        
  54.                                                 if (key == 'sort_order'){
  55.                                                        
  56.                                                         if(value.length > 0 ){
  57.                                                                 precorder = value;
  58.                                                                 return false;
  59.                                                         }else{
  60.                                                                 precorder = 0;
  61.                                                                 return false;
  62.                                                         }                      
  63.                                                 }
  64.                                                
  65.                                 });
  66.                         }
  67.                        
  68.                         if (dnext != undefined ){
  69.                                 Ext.Object.each(dnext,function(key,value,index){
  70.                                        
  71.                                                 if (key == 'sort_order'){
  72.                                                         if(value.length > 0 ){
  73.                                                                 nextorder = value;
  74.                                                                 return false;
  75.                                                         }else{
  76.                                                                 nextorder = 0;
  77.                                                                 return false;
  78.                                                         }
  79.                                                 }
  80.                                                
  81.                                 });
  82.                                
  83.                         }
  84.                
  85.                         var sortorder = 10000;
  86.                         if( precorder == 0 ){
  87.                                 return sortorder;
  88.                         } else if ( nextorder == 0 ) {
  89.                                
  90.                                 return (parseInt(precorder) + 1000);
  91.                        
  92.                         }else{
  93.                                
  94.                                 sortorder = (nextorder - precorder);
  95.                                 sortorder = parseInt(precorder) + (sortorder / 2) ;
  96.                                 return sortorder;
  97.                         }
  98.                        
  99.                        
  100.                        
  101.                        
  102.                        
  103.                 },
  104.                
  105.                
  106.                 getNodeId = function(node,type){
  107.                         var idNext = 0 ;
  108.                         Ext.Object.each(node,function(key, value, myself) {
  109.                                        
  110.                                 //      alert(Ext.Object.toQueryString(node));
  111.                                        
  112.                                         if (key === type) {
  113.                                                 Ext.Object.each(value,function(key, value, myself) {
  114.                                         //              alert(Ext.Object.toQueryString(value));
  115.                                                 //      alert(' 2 ' + key + value);
  116.                                                                 if ( key == 'internalId'){
  117.                                                                         if ( value.length > 0 ) {
  118.                                                                                 idNext = value;
  119.                                                                         }else{
  120.                                                                                 idNext = 0;
  121.                                                                                
  122.                                                                         }
  123.                                                                 }
  124.                                                         });
  125.                                         }
  126.                                 });
  127.                         return idNext;
  128.                 },
  129.                         genData2 = function(tab,view){
  130.                        
  131.                        
  132.                                         //var ss = materialstore.findRecord('data','Training Day');
  133.                         var final = view;
  134.                         var couples = tab.split(';');
  135.                         var size = couples.length;
  136.                         for ( var i = 1 ; i < 6 ; i++ ) {
  137.                                
  138.                                 var keyvalue = couples[i].split(':');
  139.                                 var ssize = keyvalue.length;
  140.                                 for ( var z = 1; z < ssize ; z++) {
  141.                                                
  142.                                                 if ( keyvalue[(ssize - 1)] != "" ){
  143.                                                         var value = keyvalue[(ssize - 1)];
  144.                                                         var test = keyvalue[0].concat('store');
  145.                                                         var prefix = "var c = keyvalue[0] + 'store';";
  146.                                                        
  147.                                                         ok=true;
  148.                                                                  
  149.                                                                 try{
  150.                                                                         eval(prefix)
  151.                                                                         eval(c)
  152.                                                                        
  153.                                                                 }
  154.                                                                 catch(err){
  155.                                                                         ok=false;
  156.                                                                 }
  157.                                                                
  158.                                                                
  159.                                                                 final +=  keyvalue[0];
  160.                                                                 final += ':'
  161.                                                                
  162.                                                                 if(ok == true){
  163.                                                                        
  164.                                                                        
  165.                                                                         var store = Ext.getStore(eval(c));
  166.                                                                        
  167.                                                                         var index = store.findRecord('data',value);
  168.                                                                         var modif = index.get('id');
  169.                                                                         if ( index != null ) {
  170.                                                                                
  171.                                                                                 var rg = new RegExp(value,'gi');
  172.                                                                                 tab = tab.replace(rg,modif);
  173.                                                                                 var rep = '';
  174.                                                                                
  175.                                                                                 final += keyvalue[1].replace(rg,modif);
  176.                                                                                 if (  keyvalue[1] != '' ) {
  177.                                                                                         final += ';';
  178.                                                                                 }
  179.                                                                         }
  180.                                                                        
  181.                                                                 } else {
  182.                                                                        
  183.                                                                        
  184.                                                                         final += keyvalue[1];
  185.                                                                         final += ';';
  186.                                                                 }
  187.                                                
  188.                                                         } else {
  189.                                                                
  190.                                                                 final +=  keyvalue[0];
  191.                                                                 final += ':'
  192.                                                                 final += keyvalue[1];
  193.                                                                 final += ';'
  194.                                                         }
  195.                                 }
  196.                                
  197.                         }
  198.                        
  199.                         return final;
  200.                         }
  201.                        
  202.                        
  203.                 genParam = function(tab) {
  204.                
  205.                        
  206.                         var equal = new RegExp("=",'gi');
  207.                         var newTab = tab.replace(equal,":");
  208.                         var start  = "view_name:'im_timesheet_task_list_extjs';";
  209.                         var view = "view_name:'im_timesheet_task_list_extjs';";
  210.                         var et = new RegExp("&", 'gi');
  211.                        
  212.                         start += newTab;
  213.                        
  214.                         start += "";
  215.                         var total = start.replace(et,";");
  216.                        
  217.                        
  218.                        
  219.                         total =  decodeURIComponent(total);
  220.                         total = genData2(total,view);
  221.                        
  222.                         var mdlid = monPreeditgrid.getStore().getAt(0).get('id');
  223.                        
  224.                         var node = monPrestore.getNodeById(mdlid);
  225.                        
  226.                         total = total +'id:'+mdlid+ ';parentId:' + node.data.parentId + ';project_id' + ':' +  id;;
  227.                        
  228.                        
  229.                         alert(total);
  230.                         return total;
  231.                 }
  232.                
  233.                 genSaveNeedParam = function(tab,id) {
  234.                
  235.                        
  236.                         var equal = new RegExp("=",'gi');
  237.                         var newTab = tab.replace(equal,":");
  238.                         var start  = "view_name:'im_timesheet_task_list_extjs';";
  239.                         var view = "view_name:'im_timesheet_task_list_extjs';";
  240.                         var et = new RegExp("&", 'gi');
  241.                        
  242.                         start += newTab;
  243.                        
  244.                         start += "";
  245.                         var total = start.replace(et,";");
  246.                        
  247.                        
  248.                        
  249.                         total =  decodeURIComponent(total);
  250.                         total = genData2(total,view);
  251.                        
  252.                         var mdlid = monPreeditgrid.getStore().getAt(0).get('id');
  253.                        
  254.                         var node = monPrestore.getNodeById(mdlid);
  255.                        
  256.                         total = total +'id:'+id+ ';parentId:' + node.data.parentId + ';project_id' + ':' +  id;;
  257.                        
  258.                        
  259.                         alert(total);
  260.                         return total;
  261.                 }
  262.                 function showResult(btn){
  263.                                                
  264.                                                 if (btn == 'yes') {
  265.                                                         var mdlexpanded = monPretree.getView().getSelectedRecords()[0];
  266.                                                         var nodeexpanded = monPrestore.getNodeById(mdlexpanded.get('id'));
  267.                                                        
  268.                                                         var idexpanded = nodeexpanded.parentNode.internalId;
  269.                                                        
  270.                                                                                 var test = 0;
  271.                                                                                
  272.                                                                                 var mm = monPrepanel.getValues();
  273.                                                                                
  274.                                                                                 var arrayValue = Ext.Object.getValues(mm);
  275.                                                                                 var tab = Ext.Object.toQueryString(mm);
  276.                                                                                
  277.                                                                                
  278.                                                                                        
  279.                                                                                        
  280.                                                                                         Ext.Ajax.request({
  281.                                                                                                
  282.                                                                                                 url : 'update_task.tcl',
  283.                                                                                                 method : 'POST',
  284.                                                                                                 success: function (response){
  285.                                                                                                        
  286.                                                                                                         var text = response.responseText;
  287.                                                                                                         monPretree.getStore().load();
  288.                                                                                                        
  289.                                                                                                        
  290.                                                                                                 //      Ext.Msg.alert('success Updates ...', text);
  291.  
  292.                                                                                                 },
  293.                                                                                                 failure: function(response){
  294.                                                                                                         var text = response.responseText;
  295.                                                                                                         Ext.Msg.alert('failure Updates ...', text);
  296.                                                                                                        
  297.                                                                                                 },
  298.                                                                                                 params : { param : genParam(tab) }
  299.                                                                                                
  300.                                                                                         });
  301.                                                                                
  302.                                                                        
  303.                                                 }
  304.                         };
  305.        
  306.                        
  307.  
  308.                
  309.                 Ext.define('Task',
  310.                         {
  311.                                 extend : 'Ext.data.Model',
  312.                                 fields : [ {name : 'task', type: 'string'} , {name : 'material', type: 'string'} , {name : 'start_date', type: 'string'} , {name : 'short_desc', type: 'string'} , {name : 'sort_order', type: 'string'} , {name : 'id', type: 'string'} ]
  313.                 });
  314.                
  315.         Ext.define('Combox',
  316.                         {
  317.                                 extend : 'Ext.data.Model',
  318.                                 fields : [ {name : 'id', type: 'int'} , {name : 'data', type: 'string'} ]
  319.                 });
  320.        
  321.        
  322.                                 var taskdefaultvalue = '';
  323.                        
  324.        
  325.                
  326.                 var materialstore = Ext.create('Ext.data.Store',{
  327.                        
  328.                                 //fields : [ 'id','data'],
  329.                                 model :'Combox',
  330.                                 data : [
  331.                                 { "id" : "12270",
  332.                                 "data" : "Basic Monthly Support Contract"}
  333.                                  ,
  334.                                 { "id" : "12261",
  335.                                 "data" : "Business Analysis Hour"}
  336.                                  ,
  337.                                 { "id" : "12812",
  338.                                 "data" : "Default"}
  339.                                  ,
  340.                                 { "id" : "12275",
  341.                                 "data" : "Installation Day"}
  342.                                  ,
  343.                                 { "id" : "12274",
  344.                                 "data" : "Installation Hour"}
  345.                                  ,
  346.                                 { "id" : "12260",
  347.                                 "data" : "Java Development Hour"}
  348.                                  ,
  349.                                 { "id" : "12303",
  350.                                 "data" : "Process Analysis Hour"}
  351.                                  ,
  352.                                 { "id" : "12264",
  353.                                 "data" : "Project/Consulting -Base System-"}
  354.                                  ,
  355.                                 { "id" : "15276",
  356.                                 "data" : "Project Management Hour"}
  357.                                  ,
  358.                                 { "id" : "12390",
  359.                                 "data" : "Project Management Hour"}
  360.                                  ,
  361.                                 { "id" : "12263",
  362.                                 "data" : "Project/Translation -Base System-"}
  363.                                  ,
  364.                                 { "id" : "12265",
  365.                                 "data" : "Project/Translation Freelance Extension"}
  366.                                  ,
  367.                                 { "id" : "12266",
  368.                                 "data" : "Project/Translation Quality Extension"}
  369.                                  ,
  370.                                 { "id" : "12271",
  371.                                 "data" : "Silver Monthly Support Contract"}
  372.                                  ,
  373.                                 { "id" : "12262",
  374.                                 "data" : "Software Design Hour"}
  375.                                  ,
  376.                                 { "id" : "12269",
  377.                                 "data" : "Software Update Service"}
  378.                                  ,
  379.                                 { "id" : "15275",
  380.                                 "data" : "Specification Development Hour"}
  381.                                  ,
  382.                                 { "id" : "12267",
  383.                                 "data" : "Support Hour"}
  384.                                  ,
  385.                                 { "id" : "12256",
  386.                                 "data" : "TCL Programming Hour"}
  387.                                  ,
  388.                                 { "id" : "12268",
  389.                                 "data" : "Testing Hour"}
  390.                                  ,
  391.                                 { "id" : "12277",
  392.                                 "data" : "Training Day"}
  393.                                  ,
  394.                                 { "id" : "12273",
  395.                                 "data" : "Training Hour"}
  396.                                  ,
  397.                                 { "id" : "30818",
  398.                                 "data" : "Translation Task"}
  399.                                  ,
  400.                                 { "id" : "15283",
  401.                                 "data" : "Type3 Customization Hour"}
  402.                                  ,
  403.                                 { "id" : "15271",
  404.                                 "data" : "Typo3 Installation Hour"}
  405.                                  ,
  406.                                 { "id" : "15269",
  407.                                 "data" : "Web Design Hour"}
  408.                                  ]
  409.                                
  410.                        
  411.                        
  412.                         });
  413.                        
  414.                
  415.                                
  416.                         //      var materialdefaultvalue = 'default';
  417.                         var dvalue = materialstore.findRecord('id',12812);
  418.                         var data = dvalue.get('data')
  419.                         var materialdefaultvalue = data;
  420.                        
  421.                                 var start_datedefaultvalue = '';
  422.                        
  423.                                 var short_descdefaultvalue = '';
  424.                        
  425.                                 var sort_orderdefaultvalue = '';
  426.                        
  427.                                 var iddefaultvalue = '';
  428.                        
  429.        
  430.        
  431.          var monPrestore = Ext.create('Ext.data.TreeStore',{
  432.                
  433.                 model : 'Task',
  434.                 proxy : {
  435.                         model : 'Task',
  436.                         appendId: true,
  437.                         type : 'ajax',
  438.                         url : '/intranet-timesheet2-tasks-extjs/getJSON.tcl',
  439.                         extraParams : {
  440.                                
  441.                                 user_id : '624',
  442.                                 project_id : '32001'
  443.                                
  444.                         },
  445.                        
  446.                         reader : {
  447.                                 type : 'json'
  448.                                
  449.                         },
  450.                         writer : {
  451.                                 type : 'json'
  452.                                
  453.                                
  454.                                
  455.                         }
  456.                        
  457.                 }
  458.                
  459.                
  460.        
  461.                                
  462.          });
  463.          
  464.                  var fieldmanda = new Object();
  465.        
  466.                         fieldmanda["Short_desc"] = "Short_desc";
  467.                          var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
  468.         clicksToEdit: 1
  469.     });
  470.                
  471.                 var monPreeditstore = Ext.create('Ext.data.Store', {
  472.        
  473.                         //fields : [ {name : 'budgettype', type: 'string'} , {name : 'description', type: 'string'} , {name : 'costcenter', type: 'string'} , {name : 'material', type: 'string'} , {name : 'plannedunits', type: 'string'} , {name : 'uom', type: 'string'} , {name : 'amount', type: 'string'} , {name : 'company', type: 'string'} , {name : 'lineamount', type: 'string'} , {name : 'id', type: 'string'} ],
  474.                         model : Task,
  475.                         data:{
  476.                                
  477.                                 'items':
  478.                                 []},
  479.                                
  480.                                 proxy: {
  481.                                         type: 'memory',
  482.                                         reader: {
  483.                                                 type: 'json',
  484.                                                 root: 'items'
  485.                                         },
  486.                                         writer : {
  487.                                                
  488.                                                 type: 'json',
  489.                                                 root: 'items'
  490.                                         }
  491.                                 }
  492.                 });
  493.        
  494.        
  495.                        
  496.                         var monPreeditgrid =  Ext.create('Ext.grid.Panel', {
  497.                        
  498.                                 store : monPreeditstore,
  499.                                 plugins : [cellEditing],
  500.                                 columns : [  {  
  501.                                
  502.                                         header : 'Task',
  503.                                         dataIndex : 'task',
  504.                                         id : 'Taskgridid',
  505.                                        
  506.                                          flex : 3,
  507.                                
  508.                                         field : {
  509.                                                
  510.                                                 xtype : 'textfield',
  511.                 anchor : '40%',
  512.                  itemId: 'Task',
  513.                                
  514.                                                  allowBlank : true
  515.                                         }
  516.                         }
  517.                         , {  
  518.                                
  519.                                         header : 'Material',
  520.                                         dataIndex : 'material',
  521.                                         id : 'Materialgridid',
  522.                                        
  523.                                          flex : 2,
  524.                                         field : {
  525.                                                
  526.                                                 xtype : 'combobox',
  527.                                 anchor : '35%',
  528.                                 store : materialstore,
  529.                                 itemId : 'Material',
  530.                                 queryMode: 'local',
  531.                                 displayField: 'data',
  532.                                 width : 50,
  533.                                 valueField: 'data',
  534.                                 editable : false,
  535.                                 clsm : 'my-combo-lst',
  536.                                 grow : true,
  537.                                 enforceMaxLength : true,
  538.                                 listeners : {
  539.                                        
  540.                                         render : function(me){
  541.                                          
  542.                                                 var obj = materialstore.findRecord('data',materialdefaultvalue);
  543.                                                 if ( obj != null ){
  544.                                                         me.setValue(obj.get('data'),obj);
  545.                                                 }
  546.                                                
  547.                                         }
  548.                                        
  549.                                 },
  550.                                
  551.                                                  allowBlank : true
  552.                                         }
  553.                         }
  554.                         , {  
  555.                                
  556.                                         header : 'Start Date',
  557.                                         dataIndex : 'start_date',
  558.                                         id : 'Start_Dategridid',
  559.                                        
  560.                                          flex : 2,
  561.                                 xtype : 'datecolumn',
  562.                                 format : 'Y-m-d',
  563.                                 renderer: formatDate,
  564.                                 //renderer: Ext.util.Format.dateRenderer('Y/m/d'),
  565.                                
  566.                                
  567.                                
  568.                                         field : {
  569.                                                
  570.                                                 xtype : 'datefield',
  571.                 anchor : '20%',
  572.                
  573.                 itemId: 'Start_Date',
  574.                 disabledDays : [0,6],
  575.                 submitFormat : 'Y-m-d',
  576.                 submitValue : false,
  577.                 //format : 'Y/m/d',
  578.                 format : 'Y-m-d',
  579.                 editable: false,
  580.                 value : '""',
  581.                 listeners : {
  582.                        
  583.                         blur : function(me,opt){
  584.                                
  585.                                 //me.setValue(Ext.Date.parse(me.getValue(),'Y-m-d'));
  586.                                 var date = me.getValue();
  587.                                 alert(me.getValue());
  588.                         }
  589.                        
  590.                 },
  591.                
  592.                                                  allowBlank : true
  593.                                         }
  594.                         }
  595.                         , {  
  596.                                
  597.                                         header :  "Short_description  (<span class='icon_mandatory'>*</span>)",
  598.                                         dataIndex : 'short_desc',
  599.                                         id : 'Short_descgridid',
  600.                                        
  601.                                          flex : 2,
  602.                                         field : {
  603.                                                
  604.                                                 xtype : 'textfield',
  605.                 anchor : '40%',
  606.                  itemId: 'Short_desc',
  607.                                
  608.                                                  allowBlank : false
  609.                                         }
  610.                         }
  611.                         , {  
  612.                                
  613.                                         header : 'Sort Order',
  614.                                         dataIndex : 'sort_order',
  615.                                         id : 'sort_ordergridid',
  616.                                        
  617.                                          flex : 2,
  618.                                         field : {
  619.                                                
  620.                                                 xtype : 'textfield',
  621.                 anchor : '40%',
  622.                  itemId: 'sort_order',
  623.                                
  624.                                                  allowBlank : true
  625.                                         }
  626.                         }
  627.                         , {  
  628.                                
  629.                                         header : 'MESSAGE KEY MISSING: \'intranet-timesheet2-tasks-extjs.Id\'',
  630.                                         dataIndex : 'id',
  631.                                         id : 'Idgridid',
  632.                                        
  633.                                         hidden : true,  flex : 2,
  634.                                         field : {
  635.                                                
  636.                                                 xtype : 'hiddenfield',
  637.                  itemId: 'Id',
  638.                
  639.                
  640.                                                  allowBlank : true
  641.                                         }
  642.                         }
  643.                         ,],
  644.                                  dockedItems: [{
  645.                                          
  646.                                         xtype: 'toolbar',
  647.                                         dock: 'bottom',
  648.                                         height : 22,
  649.                                         items: [
  650.                                         {
  651.                                                  
  652.                                                 xtype : 'button',
  653.                                                 id : 'treetbarbpmode',
  654.                                                 text : 'Mode : add Leaf',
  655.                                                 enableToggle : true,
  656.                                                 iconCls : 'tbar_leaf',
  657.                                                 scale : 'small',
  658.                                                 width : 170,
  659.                                                 toggleGroup : 'monGroup',
  660.                                                 listeners : {
  661.                                                         toggle : function(me,pressed){
  662.                                                                 if ( pressed == true ) {
  663.                                                                        
  664.                                                                         this.setText('Mode : add Sub_project');
  665.                                                                         this.setIconCls('tbar_subproject');
  666.                                                                 } else {
  667.                                                                         this.setText('Mode : add Leaf');
  668.                                                                         this.setIconCls('tbar_leaf');
  669.                                                                 }
  670.                                                                
  671.                                                                
  672.                                                                
  673.                                                         }
  674.                                                        
  675.                                                
  676.                                                 }
  677.                                         },
  678.                                        
  679.                                         '->',{
  680.                                                 xtype : 'button',
  681.                                                 id : 'updatebtn',
  682.                                                 text : 'update',
  683.                                                 scall : 'small',
  684.                                                 height : 20,
  685.                                                 iconCls : 'icon_submit',
  686.                                                 handler : function() {
  687.                                                        
  688.                                                        
  689.                                                 var mdlid = monPreeditgrid.getStore().getAt(0).get('id');
  690.                                                 //var node = monPrestore.getNodeById(mdlid);
  691.                                                 //var mdlexpanded = monPretree.getView().getSelectedRecords()[0];
  692.                                                 if ( mdlid != undefined ) {
  693.                                                         var nodeexpanded = monPrestore.getNodeById(mdlid);
  694.                                                
  695.                                                         var idexpanded = nodeexpanded.parentNode.internalId;
  696.                                                         monPrestore.getProxy().extraParams = {
  697.                                        
  698.                                                                         user_id : '624',
  699.                                                                         project_id : '32001',
  700.                                                                         expanded : idexpanded
  701.                                                         }
  702.                                                        
  703.                                                                                        
  704.                                                                 var compt = 0;
  705.                                                                 var fielderror = new Array();
  706.                                                                
  707.                                                                 Ext.Object.each(monPreeditgrid.columns, function(key,value){
  708.                                                                                 Ext.Object.each(value ,function(key,value){
  709.                                                                                        
  710.                                                                                                 if(key == 'field'){    
  711.                                                                                                        
  712.                                                                                                         Ext.Object.each(value ,function(key,val){
  713.                                                                                                        
  714.                                                                                                                
  715.                                                                                                         var record = monPreeditstore.getAt(0);
  716.                                                                                                                        
  717.                                                                                                                        
  718.                                                                                                         if ( key == 'itemId') {
  719.                                                                                                                                
  720.                                                                                                                                
  721.                                                                                                                                 var nom = val.toLowerCase();
  722.                                                                                                                                 if ( fieldmanda[val] != undefined ) {
  723.                                                                                                                                        
  724.                                                                                                                                         if (record.get(nom) == '') {
  725.                                                                                                                                                
  726.                                                                                                                                                 fielderror[compt] = fieldmanda[val];
  727.                                                                                                                                                 compt++;
  728.                                                                                                                                         }
  729.                                                                                                                                 }
  730.                                                                                                                                
  731.                                                                                                                        
  732.                                                                                                         }
  733.                                                                                                                
  734.                                                                                                                
  735.                                                                                                         });
  736.                                                                                                        
  737.                                                                                                 }
  738.                                                                                                
  739.                                                                                         });
  740.                                                                                        
  741.                                                                                
  742.                                                                        
  743.                                                                 });
  744.                                                                
  745.                                                                         var test = 0;
  746.                                                                        
  747.                                                                         //var mm = monPrepanel.getValues();
  748.                                                                         var mm = monPreeditgrid.getStore().getAt(0);
  749.                                                                        
  750.                                                                         var tab = Ext.Object.toQueryString(mm.data);
  751.                                                                        
  752.                                                                                
  753.                                                                                 if (fielderror.length == 0 ){
  754.                                                                                         Ext.Ajax.request({
  755.                                                                                                
  756.                                                                                                 url : 'update_task.tcl',
  757.                                                                                                 method : 'GET',
  758.                                                                                                 success: function (response){
  759.                                                                                                        
  760.                                                                                                         var text = response.responseText;
  761.                                                                                                         monPretree.getStore().load();
  762.                                                                                                         saveneeded = false;
  763.                                                                                                         insertnew = true;
  764.                                                                                                 //      Ext.Msg.alert('success Updates ...', text);
  765.  
  766.                                                                                                 },
  767.                                                                                                 failure: function(response){
  768.                                                                                                         var text = response.responseText;
  769.                                                                                                         Ext.Msg.alert('failure Updates ...', text);
  770.                                                                                                        
  771.                                                                                                 },
  772.                                                                                                 params : { param : genParam(tab) , expanded : idexpanded }
  773.                                                                                                
  774.                                                                                         });
  775.                                                                        
  776.                                                                                 } else {
  777.                                                                                         var msg = 'Fields are mandatory : '.concat(fielderror.toString());
  778.                                                                                         Ext.Msg.show({
  779.                                                                                                  title:'Mandatory fields',
  780.                                                                                                  msg: msg,
  781.                                                                                                  buttons: Ext.Msg.OK,
  782.                                                                                                  icon: Ext.Msg.WARNING
  783.                                                                                         });
  784.                                                                                 }
  785.                                                                 }
  786.                                         }
  787.                                         },'-',{
  788.                                                 xtype : 'button',
  789.                                                 text :  'delete',
  790.                                                 iconCls : 'icon_delete',
  791.                                                 id : 'deletebtn',
  792.                                                 scall : 'small',
  793.                                                 height : 20,
  794.                                                 handler : function() {
  795.                                
  796.                                                         var mm = monPreeditgrid.getStore().getAt(0);
  797.                                                         var tab = Ext.Object.toQueryString(mm);
  798.                                                                        
  799.                                                        
  800.                                                                                
  801.                                                         if ( monPreeditgrid.getStore().getAt(0).get('id').charAt(0) != 'X' ){                  
  802.                                                         Ext.Ajax.request({
  803.                                                                                                
  804.                                                                                                 url : 'task-delete.tcl',
  805.                                                                                                 method : 'POST',
  806.                                                                                                 success: function (response){
  807.                                                                                                         var text = response.responseText;
  808.                                                                                                         monPretree.getStore().load();
  809.                                                                                                         saveneeded = false;
  810.                                                                                                        
  811.                                                                                                         //Ext.example.msg('success Deleting ...', text);
  812.                                                                                                 //      Ext.Msg.alert('success Deleting ...', text);
  813.  
  814.                                                                                                 },
  815.                                                                                                 failure: function (response){
  816.                                                                                                         var text = response.responseText;
  817.                                                                                                        
  818.                                                                                                         Ext.Msg.alert('failure Deleting ...', text);
  819.                                                                                                        
  820.                                                                                                         },
  821.                                                                                                 params : { task_id :  monPreeditgrid.getStore().getAt(0).get('id') , project_id : 32001 , return_url : "" }    
  822.                                                                                        
  823.                                                                                        
  824.                                                                                                
  825.                                                                                         });
  826.                                                                                 } else {
  827.                                                                                         if(monPreeditgrid.getStore().getAt(0).get('id').charAt(0) == 'X') {
  828.                                                                                                
  829.                                                                                                 var node = monPrestore.getNodeById(monPreeditgrid.getStore().getAt(0).get('id'));
  830.                                                                                        
  831.                                                                                                 node.remove(false);
  832.                                                                                                 monPrestore.load();
  833.                                                                                                
  834.                                                                                         }
  835.                                                                                 }
  836.                                         }
  837.                                
  838.                                         }]
  839.                                 }]
  840.  
  841.                                
  842.                                
  843.                                
  844.                                
  845.                                
  846.                         });
  847.                         monPreeditgrid.on('edit',onvalidatEdit, this);
  848.                        
  849.                         function onvalidatEdit(editor,e,opt) {
  850.                                 //alert(e.value + ' --- '+e.record.data);
  851.                                
  852.                                 Ext.Object.each(e.record.data,function(key,value){
  853.                                        
  854.                                                 //alert( key + ' _ ' + value );
  855.                                                 if (key == e.column.dataIndex){
  856.                                                                
  857.                                                                 if ( value == e.value ) {
  858.                                                                         saveneeded = false;
  859.                                                                 } else if (e.value == '' ) {
  860.                                                                        
  861.                                                                         saveneeded = true;
  862.                                                                 } else {
  863.                                                                        
  864.                                                                         saveneeded = true;
  865.                                                                        
  866.                                                                 }
  867.                                                 }
  868.                                 });
  869.                                 var mdl = monPreeditgrid.getStore().getAt(0);
  870.                                
  871.                                 //      alert(Ext.Object.toQueryString(e));
  872.                                 //var sel = monPretree.getView().getSelectedRecords();
  873.                                 tabValue["e.column.dataIndex"] = mdl.get(e.column.dataIndex);
  874.                                
  875.                                 indexsaveneed = mdl.get('id');
  876.                         //      saveneeded = true;     
  877.                         }
  878.        
  879.                
  880.                         var mesfields = new Array;
  881.                        
  882.                         var monPretree = Ext.create('Ext.tree.Panel',{
  883.                                 id : 'treepanel',
  884.                                 title : 'MESSAGE KEY MISSING: \'intranet-timesheet2-tasks-extjs.treetitle\'',
  885.                                 width : 500,
  886.                                 useArrows : true,
  887.                                 autoScroll : true,
  888.                                 singleExpand : false,
  889.                                 store : monPrestore,
  890.                                 enableDD : true,
  891.                                 rootVisible : false,
  892.                                
  893.                                 viewConfig : {
  894.                                         plugins : {
  895.                                                 ptype: 'treeviewdragdrop',    
  896.                                                  
  897.                                                
  898.                                         }
  899.                                        
  900.                                 },
  901.                
  902.                                 listeners : {
  903.                 beforeitemclick : function(me,model,item,index,e,opt){
  904.                                        
  905.                         var fielderror = new Array();
  906.                                  if ( monPreeditgrid.getStore().getAt(0) != undefined ) {
  907.                                          
  908.                                         var mdl =       monPreeditgrid.getStore().getAt(0);
  909.                                   }
  910.                                
  911.                                 if ( saveneeded == true ){
  912.                                
  913.                                         var node = monPrestore.getNodeById(indexsaveneed);
  914.                                         var tab = Ext.Object.toQueryString(mdl.data);
  915.                                         var id = mdl.get('id');
  916.                                        
  917.                                         function update_budget(btn){
  918.                                                        
  919.                                                         if ( btn == 'yes'){
  920.                                                                
  921.                                                                
  922.                                                                        
  923.                                                                 var compt = 0;
  924.                                                                
  925.                                                                 Ext.Object.each(monPreeditgrid.columns, function(key,value){
  926.                                                                                 Ext.Object.each(value ,function(key,value){
  927.                                                                                        
  928.                                                                                                 if(key == 'field'){    
  929.                                                                                                
  930.                                                                                                         Ext.Object.each(value ,function(key,val){
  931.                                                                                                        
  932.                                                                                                                
  933.                                                                                                         var record = monPreeditstore.getAt(0);
  934.                                                                                                                        
  935.                                                                                                                        
  936.                                                                                                         if ( key == 'itemId') {
  937.                                                                                                                         var nom = val.toLowerCase();
  938.                                                                                                                         if ( fieldmanda[val] != undefined ) {
  939.                                                                                                                                
  940.                                                                                                                                 if (record.get(nom) == '') {
  941.                                                                                                                                        
  942.                                                                                                                                         fielderrorsave[compt] = fieldmanda[val];
  943.                                                                                                                                         compt++;
  944.                                                                                                                                 }
  945.                                                                                                                         }
  946.                                                                                                         }
  947.                                                                                                                
  948.                                                                                                                
  949.                                                                                                         });
  950.                                                                                                        
  951.                                                                                                 }
  952.                                                                                                
  953.                                                                                         });
  954.                                                                                        
  955.                                                                                
  956.                                                                        
  957.                                                                 });
  958.                                                                
  959.                                                        
  960.                                                                        
  961.                                                                 if ( fielderror.length > 0 ){
  962.                                                                        
  963.                                                                        
  964.                                                                        
  965.                                                                                         var msg = 'Fields are mandatory : '.concat(fielderrorsave.toString());
  966.                                                                                         Ext.Msg.show({
  967.                                                                                                  title:'Mandatory fields',
  968.                                                                                                  msg: msg,
  969.                                                                                                  buttons: Ext.Msg.OK,
  970.                                                                                                  icon: Ext.Msg.WARNING
  971.                                                                                         });
  972.                                                                        
  973.                                                                        
  974.                                                                        
  975.                                                                        
  976.                                                                 } else {         
  977.                                                                        
  978.                                                                         Ext.Ajax.request({
  979.                                                                                
  980.                                                                                 url : 'update_task.tcl',
  981.                                                                                 method : 'GET',
  982.                                                                                 success: function (response){
  983.                                                                                        
  984.                                                                                         var text = response.responseText;
  985.                                                                                         monPretree.getStore().load();
  986.                                                                                        
  987.                                                                                         saveneeded = false;
  988.                                                                                         insertnew = true;
  989.                                                                                 },
  990.                                                                                 failure: function(response){
  991.                                                                                         var text = response.responseText;
  992.                                                                                         Ext.Msg.alert('failure Updates ...', text);
  993.                                                                                        
  994.                                                                                 },
  995.                                                                                 params : { param : genSaveNeedParam(tab,id) }
  996.                                                                                
  997.                                                                         });
  998.                                                                        
  999.                                                                        
  1000.                                                                 }
  1001.                                                                
  1002.                                                         }
  1003.                                                        
  1004.                                                 }
  1005.                                                
  1006.                                                 Ext.Msg.show({
  1007.                                                                  title:'Save Changes?',
  1008.                                                                  msg: 'MESSAGE KEY MISSING: \'intranet-timesheet2-tasks-extjs.worksave\'',
  1009.                                                                  buttons: Ext.Msg.YESNO,
  1010.                                                                  fn : update_budget,
  1011.                                                                  icon: Ext.window.MessageBox.QUESTION
  1012.                                                 });
  1013.                                                
  1014.                                                
  1015.                                                 saveneeded = false;
  1016.                         }
  1017.                 },
  1018.                
  1019.    
  1020.                        
  1021.                 itemclick : function(a,model,c,index,e){
  1022.                        
  1023.                        
  1024.                         monPreeditgrid.getView().refresh();
  1025.                         if ( model instanceof Task ) {
  1026.                                
  1027.                                
  1028.                                
  1029.                                 var node = monPrestore.getNodeById(model.get('id'));
  1030.                                
  1031.                                 if (node.isLeaf() ){
  1032.                                                        
  1033.                                         Ext.getCmp('updatebtn').setDisabled(false);
  1034.                                         Ext.getCmp('deletebtn').setDisabled(false);
  1035.                                         var i = 0;
  1036.                         var Taskgrididcmp = Ext.getCmp('Taskgridid');
  1037.                         //alert(Taskgrididcmp);
  1038.                         if ( 'Y' == 'Y' ) {
  1039.                                 if (mesfields[i] != undefined ) {
  1040.                                         Ext.apply(Taskgrididcmp,{
  1041.                                                         field : mesfields[i]
  1042.                                         });
  1043.                                        
  1044.                                 }
  1045.                         } else {
  1046.                                
  1047.                                        
  1048.                                         Ext.apply(Taskgrididcmp,{
  1049.                                                         field : ''
  1050.                                         });
  1051.                                        
  1052.                                
  1053.                                
  1054.                         }
  1055.                         i++;
  1056.                
  1057.                         var Materialgrididcmp = Ext.getCmp('Materialgridid');
  1058.                         //alert(Materialgrididcmp);
  1059.                         if ( 'N' == 'Y' ) {
  1060.                                 if (mesfields[i] != undefined ) {
  1061.                                         Ext.apply(Materialgrididcmp,{
  1062.                                                         field : mesfields[i]
  1063.                                         });
  1064.                                        
  1065.                                 }
  1066.                         } else {
  1067.                                
  1068.                                        
  1069.                                         Ext.apply(Materialgrididcmp,{
  1070.                                                         field : ''
  1071.                                         });
  1072.                                        
  1073.                                
  1074.                                
  1075.                         }
  1076.                         i++;
  1077.                
  1078.                         var Start_Dategrididcmp = Ext.getCmp('Start_Dategridid');
  1079.                         //alert(Start_Dategrididcmp);
  1080.                         if ( 'Y' == 'Y' ) {
  1081.                                 if (mesfields[i] != undefined ) {
  1082.                                         Ext.apply(Start_Dategrididcmp,{
  1083.                                                         field : mesfields[i]
  1084.                                         });
  1085.                                        
  1086.                                 }
  1087.                         } else {
  1088.                                
  1089.                                        
  1090.                                         Ext.apply(Start_Dategrididcmp,{
  1091.                                                         field : ''
  1092.                                         });
  1093.                                        
  1094.                                
  1095.                                
  1096.                         }
  1097.                         i++;
  1098.                
  1099.                         var Short_descgrididcmp = Ext.getCmp('Short_descgridid');
  1100.                         //alert(Short_descgrididcmp);
  1101.                         if ( 'Y' == 'Y' ) {
  1102.                                 if (mesfields[i] != undefined ) {
  1103.                                         Ext.apply(Short_descgrididcmp,{
  1104.                                                         field : mesfields[i]
  1105.                                         });
  1106.                                        
  1107.                                 }
  1108.                         } else {
  1109.                                
  1110.                                        
  1111.                                         Ext.apply(Short_descgrididcmp,{
  1112.                                                         field : ''
  1113.                                         });
  1114.                                        
  1115.                                
  1116.                                
  1117.                         }
  1118.                         i++;
  1119.                
  1120.                         var sort_ordergrididcmp = Ext.getCmp('sort_ordergridid');
  1121.                         //alert(sort_ordergrididcmp);
  1122.                         if ( 'Y' == 'Y' ) {
  1123.                                 if (mesfields[i] != undefined ) {
  1124.                                         Ext.apply(sort_ordergrididcmp,{
  1125.                                                         field : mesfields[i]
  1126.                                         });
  1127.                                        
  1128.                                 }
  1129.                         } else {
  1130.                                
  1131.                                        
  1132.                                         Ext.apply(sort_ordergrididcmp,{
  1133.                                                         field : ''
  1134.                                         });
  1135.                                        
  1136.                                
  1137.                                
  1138.                         }
  1139.                         i++;
  1140.                
  1141.                         var Idgrididcmp = Ext.getCmp('Idgridid');
  1142.                         //alert(Idgrididcmp);
  1143.                         if ( 'N' == 'Y' ) {
  1144.                                 if (mesfields[i] != undefined ) {
  1145.                                         Ext.apply(Idgrididcmp,{
  1146.                                                         field : mesfields[i]
  1147.                                         });
  1148.                                        
  1149.                                 }
  1150.                         } else {
  1151.                                
  1152.                                        
  1153.                                         Ext.apply(Idgrididcmp,{
  1154.                                                         field : ''
  1155.                                         });
  1156.                                        
  1157.                                
  1158.                                
  1159.                         }
  1160.                         i++;
  1161.                
  1162.                                         monPreeditstore.removeAll(false);
  1163.                                         monPreeditstore.insert(0,model);
  1164.                                         //PROJECT
  1165.                                 } else {
  1166.                                        
  1167.                                         Ext.getCmp('updatebtn').setDisabled(true);
  1168.                                         Ext.getCmp('deletebtn').setDisabled(true);
  1169.                                        
  1170.                                         monPreeditstore.removeAll(false);
  1171.                                         monPreeditstore.insert(0,model);
  1172.                                 }
  1173.                        
  1174.                         }
  1175.                        
  1176.                 },
  1177.                
  1178.                
  1179.                 itemdblclick : function(view, model, htmlitem, index, e )
  1180.                 {
  1181.                        
  1182.                         if ( insertnew == true ) {                                             
  1183.                                 var cmp = Ext.getCmp('treetbarbpmode');
  1184.                                                                                
  1185.                                 var node = monPrestore.getNodeById(model.get('id'));
  1186.                                 var papa = node.parentNode;
  1187.                                        
  1188.                                 var idparent = 'X'+papa.internalId;
  1189.                                 var mdata = papa.data;
  1190.                                 var sdate = 0 ;
  1191.                                 Ext.Object.each(mdata, function(key, value, myself) {
  1192.                                                
  1193.                                        
  1194.                                                 if (key === 'start_date') {
  1195.                                                        
  1196.                                                         sdate = value;
  1197.                                                         return false; // stop the iteration
  1198.                                                 }
  1199.                                         });
  1200.                
  1201.                                
  1202.                                 //If mode => SUB PROJECT ( Bpn pressed )
  1203.                                 if ( cmp.pressed == true ){
  1204.                                         //Add Sub Project :
  1205.                                         var project = {task: taskdefaultvalue,material: materialdefaultvalue,start_date: sdate,short_desc: short_descdefaultvalue,sort_order: sort_orderdefaultvalue,id: idparent,children : []
  1206.         };
  1207.                                         var rechild = papa.insertBefore(project,node);
  1208.                                                                        
  1209.                                        
  1210.                                 } else {
  1211.                                        
  1212.                                         var child = {task: taskdefaultvalue,
  1213. material: materialdefaultvalue,
  1214. start_date: sdate,
  1215. short_desc: short_descdefaultvalue,
  1216. sort_order: sort_orderdefaultvalue,
  1217. id: idparent,
  1218. leaf : true};
  1219.                                         var rechild = papa.insertBefore(child,node);
  1220.                                 }
  1221.                                 if ( node.getDepth() != 1 ) {
  1222.                                        
  1223.                                                
  1224.                                                
  1225.                                                 var idNext = getNodeId(node,'nextSibling');
  1226.  
  1227.                                                
  1228.                                                 var nodeNext = monPrestore.getNodeById(idNext);
  1229.                                                 var sortorder = getSortOrder(node,nodeNext);
  1230.                                                
  1231.                                                 rechild.data.sort_order = sortorder;
  1232.                                                 var renode = papa.replaceChild(rechild,node);
  1233.                                                 papa.insertBefore(renode,rechild);
  1234.                                                 monPretree.getView().getSelectionModel().select(rechild);
  1235.                                                 monPretree.fireEvent('itemclick',monPretree.getView(),rechild);
  1236.                                
  1237.                                        
  1238.                                 } else {       
  1239.                                        
  1240.                                         var rechild = node.appendChild(rechild);
  1241.                                         rechild.data.sort_order = 10000;
  1242.                                         monPretree.getView().refresh();
  1243.                                         monPretree.getView().getSelectionModel().select(rechild);
  1244.                                         monPretree.fireEvent('itemclick',monPretree.getView(),rechild);
  1245.                                        
  1246.                                 }
  1247.                                 insertnew = false;
  1248.                         }
  1249.                 }
  1250.                 },
  1251.                                 columns : [ {
  1252.                                 xtype : 'treecolumn',
  1253.                                 flex :3,
  1254.                                 text : 'Task',
  1255.                                
  1256.                                 width : 100,
  1257.                                
  1258.                                 dataIndex :  'task',
  1259.                                 sortable : true
  1260.                                
  1261.                                
  1262.                         } , {
  1263.                                
  1264.                                         flex : 2,
  1265.                                  
  1266.                                 text : 'Material',
  1267.                                
  1268.                                 width : 100,
  1269.                                
  1270.                                 dataIndex :  'material',
  1271.                                 sortable : true
  1272.                                
  1273.                                
  1274.                         } , {
  1275.                                
  1276.                                         flex : 2,
  1277.                                  
  1278.                                 text : 'Start Date',
  1279.                                
  1280.                                 width : 100,
  1281.                                
  1282.                                 dataIndex :  'start_date',
  1283.                                 sortable : true
  1284.                                
  1285.                                
  1286.                         } , {
  1287.                                
  1288.                                         flex : 2,
  1289.                                  
  1290.                                 text : 'Short_description',
  1291.                                
  1292.                                 width : 100,
  1293.                                
  1294.                                 dataIndex :  'short_desc',
  1295.                                 sortable : true
  1296.                                
  1297.                                
  1298.                         } , {
  1299.                                
  1300.                                         flex : 2,
  1301.                                  
  1302.                                 text : 'Sort Order',
  1303.                                
  1304.                                 width : 100,
  1305.                                
  1306.                                 dataIndex :  'sort_order',
  1307.                                 sortable : true
  1308.                                
  1309.                                
  1310.                         } , {
  1311.                                
  1312.                                         flex : 2,
  1313.                                  hidden : true,
  1314.                                         align : 'right',
  1315.                                
  1316.                                 text : 'MESSAGE KEY MISSING: \'intranet-timesheet2-tasks-extjs.Id\'',
  1317.                                
  1318.                                 width : 100,
  1319.                                
  1320.                                 dataIndex :  'id',
  1321.                                 sortable : true
  1322.                                
  1323.                                
  1324.                         } , ]
  1325.                                
  1326.                                
  1327.                                 });
  1328.                 monPretree.getView().on('drop',function( node, data, overModel, dropPosition,  options ){
  1329.                        
  1330.                         var node = '';
  1331.                         Ext.Array.each(data.records, function(name, index, countriesItSelf) {
  1332.                                
  1333.                                        
  1334.                                         node = monPrestore.getNodeById(name.internalId);       
  1335.                         });
  1336.        
  1337.                         if ( node != undefined) {
  1338.                          var papaid = getNodeId(node,'parentNode');
  1339.                          var nextid = getNodeId(node,'nextSibling');
  1340.                          var previd = getNodeId(node,'previousSibling');
  1341.  
  1342.                        
  1343.                          var mdl = monPreeditgrid.getStore().getAt(0);
  1344.                         if ( mdl != undefined ) {
  1345.                          var nodenxt = monPrestore.getNodeById(nextid);
  1346.                          var nodesvt = monPrestore.getNodeById(previd);
  1347.                          
  1348.                          var sortorder = getSortOrder(nodesvt,nodenxt);
  1349.                          
  1350.                          node.data.sort_order = sortorder;
  1351.                          node.data.parentId = papaid;
  1352.                          var ndata = node.data;
  1353.                                                                
  1354.                                                                        
  1355.                                                                        
  1356.                         var node = monPrestore.getNodeById(indexsaveneed);
  1357.                         var tab = Ext.Object.toQueryString(mdl.data);
  1358.                        
  1359.                        
  1360.                         alert(genParam(tab));
  1361.                        
  1362.                        
  1363.                         Ext.Ajax.request({
  1364.                        
  1365.                         url : 'update_task.tcl',
  1366.                         method : 'GET',
  1367.                         success: function (response){
  1368.                                
  1369.                                 var text = response.responseText;
  1370.                                 //monPretree.getStore().load();
  1371.                                
  1372.                                 saveneeded = false;
  1373.                                 //Ext.Msg.alert('success Updates ...', text);
  1374.  
  1375.                         },
  1376.                         failure: function(response){
  1377.                                 var text = response.responseText;
  1378.                                 Ext.Msg.alert('failure Updates ...', text);
  1379.                                
  1380.                         },
  1381.                         params : { param : genParam(tab) }
  1382.                        
  1383.                 });
  1384.                                                         }
  1385.                                                 }
  1386.                
  1387.                 });
  1388.                 monPretree.getView().refresh();
  1389.                
  1390.                
  1391.                 var mainPan = Ext.create('Ext.form.Panel',{
  1392.                        
  1393.                                 title : 'MESSAGE KEY MISSING: \'intranet-timesheet2-tasks-extjs.title\'',
  1394.                                
  1395.                                 resizable : true,
  1396.                                 height : 800,
  1397.                                 width : 1200,
  1398.                                 layout : {
  1399.                                         type : 'anchor'
  1400.                                 },
  1401.                                 items : [
  1402.                                        
  1403.                                         {
  1404.                                                 anchor : '100% 13%',
  1405.                                                 layout : 'fit',
  1406.                                                 split : true,
  1407.                                                 items : [monPreeditgrid]
  1408.                                                
  1409.                                         },
  1410.                                         {
  1411.                                                
  1412.                                                 anchor : '100% 80%',
  1413.                                                 //margin : '0 0 3 0',
  1414.                                                
  1415.                                                 layout : 'fit',
  1416.                                                 split : true,
  1417.                                                 items : [monPretree]
  1418.                                                
  1419.                                         }
  1420.                                
  1421.                                 ],
  1422.                         renderTo : 'mongrid'   
  1423.                 });
  1424.        
  1425.        
  1426.  
  1427. });