vamtam-separator.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. /**
  3. * @class VamtamSeparatorModule
  4. */
  5. class VamtamSeparatorModule extends FLBuilderModule {
  6. /**
  7. * @method __construct
  8. */
  9. public function __construct() {
  10. $path = trailingslashit( 'modules/' . basename( dirname( __FILE__ ) ) );
  11. parent::__construct(array(
  12. 'name' => __( 'Separator', 'vamtam-elements-b' ),
  13. 'description' => __( 'A divider line to separate content.', 'vamtam-elements-b' ),
  14. 'category' => __( 'VamTam Modules', 'vamtam-elements-b' ),
  15. 'editor_export' => false,
  16. 'partial_refresh' => true,
  17. 'dir' => VAMTAMEL_B_DIR . $path,
  18. 'url' => VAMTAMEL_B_URL . $path,
  19. ));
  20. }
  21. }
  22. /**
  23. * Register the module and its form settings.
  24. */
  25. FLBuilder::register_module('VamtamSeparatorModule', array(
  26. 'general' => array( // Tab
  27. 'title' => __( 'General', 'vamtam-elements-b' ), // Tab title
  28. 'sections' => array( // Tab Sections
  29. 'general' => array( // Section
  30. 'title' => '', // Section Title
  31. 'fields' => array( // Section Fields
  32. 'color' => array(
  33. 'type' => 'vamtam-color',
  34. 'label' => __( 'Color', 'vamtam-elements-b' ),
  35. 'default' => 'accent4',
  36. ),
  37. 'opacity' => array(
  38. 'type' => 'unit',
  39. 'label' => __( 'Opacity', 'vamtam-elements-b' ),
  40. 'default' => '1',
  41. 'min' => 0,
  42. 'max' => 1,
  43. 'step' => 0.05,
  44. ),
  45. 'height' => array(
  46. 'type' => 'text',
  47. 'label' => __( 'Height', 'vamtam-elements-b' ),
  48. 'default' => '1',
  49. 'maxlength' => '2',
  50. 'size' => '3',
  51. 'description' => 'px',
  52. 'preview' => array(
  53. 'type' => 'css',
  54. 'selector' => '.fl-separator',
  55. 'property' => 'border-top-width',
  56. 'unit' => 'px',
  57. ),
  58. ),
  59. 'width' => array(
  60. 'type' => 'select',
  61. 'label' => __( 'Width', 'vamtam-elements-b' ),
  62. 'default' => 'full',
  63. 'options' => array(
  64. 'full' => __( 'Full Width', 'vamtam-elements-b' ),
  65. 'custom' => __( 'Custom', 'vamtam-elements-b' ),
  66. ),
  67. 'toggle' => array(
  68. 'full' => array(),
  69. 'custom' => array(
  70. 'fields' => array( 'align', 'custom_width' ),
  71. ),
  72. ),
  73. ),
  74. 'custom_width' => array(
  75. 'type' => 'text',
  76. 'label' => __( 'Custom Width', 'vamtam-elements-b' ),
  77. 'default' => '10',
  78. 'maxlength' => '3',
  79. 'size' => '4',
  80. 'description' => '%',
  81. ),
  82. 'align' => array(
  83. 'type' => 'select',
  84. 'label' => __( 'Align', 'vamtam-elements-b' ),
  85. 'default' => 'center',
  86. 'options' => array(
  87. 'center' => _x( 'Center', 'Alignment.', 'vamtam-elements-b' ),
  88. 'left' => _x( 'Left', 'Alignment.', 'vamtam-elements-b' ),
  89. 'right' => _x( 'Right', 'Alignment.', 'vamtam-elements-b' ),
  90. ),
  91. ),
  92. 'style' => array(
  93. 'type' => 'select',
  94. 'label' => __( 'Style', 'vamtam-elements-b' ),
  95. 'default' => 'solid',
  96. 'options' => array(
  97. 'solid' => _x( 'Solid', 'Border type.', 'vamtam-elements-b' ),
  98. 'dashed' => _x( 'Dashed', 'Border type.', 'vamtam-elements-b' ),
  99. 'dotted' => _x( 'Dotted', 'Border type.', 'vamtam-elements-b' ),
  100. 'double' => _x( 'Double', 'Border type.', 'vamtam-elements-b' ),
  101. ),
  102. 'preview' => array(
  103. 'type' => 'css',
  104. 'selector' => '.fl-separator',
  105. 'property' => 'border-top-style',
  106. ),
  107. 'help' => __( 'The type of border to use. Double borders must have a height of at least 3px to render properly.', 'vamtam-elements-b' ),
  108. ),
  109. ),
  110. ),
  111. ),
  112. ),
  113. ));