text.tpl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <div id="tv-input-properties-form{$tv|default}"></div>
  2. {literal}
  3. <script type="text/javascript">
  4. // <![CDATA[
  5. var params = {
  6. {/literal}{foreach from=$params key=k item=v name='p'}
  7. '{$k}': '{$v|default|escape:"javascript"}'{if NOT $smarty.foreach.p.last},{/if}
  8. {/foreach}{literal}
  9. };
  10. var oc = {'change':{fn:function(){Ext.getCmp('modx-panel-tv').markDirty();},scope:this}};
  11. var element = Ext.getCmp('modx-tv-elements');
  12. if (element) {
  13. element.hide();
  14. }
  15. MODx.load({
  16. xtype: 'panel'
  17. ,layout: 'form'
  18. ,cls: 'form-with-labels'
  19. ,autoHeight: true
  20. ,border: false
  21. ,labelAlign: 'top'
  22. ,labelSeparator: ''
  23. ,items: [{
  24. xtype: 'combo-boolean'
  25. ,fieldLabel: _('required')
  26. ,description: MODx.expandHelp ? '' : _('required_desc')
  27. ,name: 'inopt_allowBlank'
  28. ,hiddenName: 'inopt_allowBlank'
  29. ,id: 'inopt_allowBlank{/literal}{$tv|default}{literal}'
  30. ,width: 200
  31. ,value: (params['allowBlank']) ? !(params['allowBlank'] === 0 || params['allowBlank'] === 'false') : true
  32. ,listeners: oc
  33. },{
  34. xtype: MODx.expandHelp ? 'label' : 'hidden'
  35. ,forId: 'inopt_allowBlank{/literal}{$tv|default}{literal}'
  36. ,html: _('required_desc')
  37. ,cls: 'desc-under'
  38. },{
  39. xtype: 'numberfield'
  40. ,fieldLabel: _('min_length')
  41. ,name: 'inopt_minLength'
  42. ,id: 'inopt_minLength{/literal}{$tv|default}{literal}'
  43. ,value: params['minLength'] || ''
  44. ,msgTarget: 'under'
  45. ,validator: function (v) {
  46. var max = Ext.getCmp('inopt_maxLength{/literal}{$tv|default}{literal}').getValue();
  47. if (parseInt(v) > parseInt(max)) {
  48. return _('ext_minlenmaxfield');
  49. }
  50. return true;
  51. }
  52. ,width: 200
  53. ,listeners: oc
  54. },{
  55. xtype: MODx.expandHelp ? 'label' : 'hidden'
  56. ,forId: 'inopt_minLength{/literal}{$tv|default}{literal}'
  57. ,html: _('min_length_desc')
  58. ,cls: 'desc-under'
  59. },{
  60. xtype: 'numberfield'
  61. ,fieldLabel: _('max_length')
  62. ,name: 'inopt_maxLength'
  63. ,id: 'inopt_maxLength{/literal}{$tv|default}{literal}'
  64. ,value: params['maxLength'] || ''
  65. ,msgTarget: 'under'
  66. ,validator: function(v) {
  67. var min = Ext.getCmp('inopt_minLength{/literal}{$tv|default}{literal}').getValue();
  68. if (parseInt(v) < parseInt(min)) {
  69. return _('ext_maxlenminfield');
  70. }
  71. return true;
  72. }
  73. ,width: 200
  74. ,listeners: oc
  75. },{
  76. xtype: MODx.expandHelp ? 'label' : 'hidden'
  77. ,forId: 'inopt_maxLength{/literal}{$tv|default}{literal}'
  78. ,html: _('max_length_desc')
  79. ,cls: 'desc-under'
  80. },{
  81. xtype: 'textfield'
  82. ,fieldLabel: _('regex')
  83. ,name: 'inopt_regex'
  84. ,id: 'inopt_regex{/literal}{$tv|default}{literal}'
  85. ,value: params['regex'] || ''
  86. ,width: 200
  87. ,listeners: oc
  88. },{
  89. xtype: 'textfield'
  90. ,fieldLabel: _('regex_text')
  91. ,name: 'inopt_regexText'
  92. ,id: 'inopt_regexText{/literal}{$tv|default}{literal}'
  93. ,value: params['regexText'] || ''
  94. ,width: 200
  95. ,listeners: oc
  96. }]
  97. ,renderTo: 'tv-input-properties-form{/literal}{$tv|default}{literal}'
  98. });
  99. // ]]>
  100. </script>
  101. {/literal}