vamtam-icon.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /**
  3. * @class VamtamIconModule
  4. */
  5. class VamtamIconModule extends FLBuilderModule {
  6. /**
  7. * @method __construct
  8. */
  9. public function __construct() {
  10. $path = trailingslashit( 'modules/' . basename( dirname( __FILE__ ) ) );
  11. parent::__construct(array(
  12. 'name' => __( 'Icon', 'vamtam-elements-b' ),
  13. 'description' => __( 'Display an icon and optional title.', '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('VamtamIconModule', 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. 'icon' => array(
  33. 'type' => 'icon',
  34. 'label' => __( 'Icon', 'vamtam-elements-b' ),
  35. ),
  36. ),
  37. ),
  38. 'link' => array(
  39. 'title' => __( 'Link', 'vamtam-elements-b' ),
  40. 'fields' => array(
  41. 'link' => array(
  42. 'type' => 'link',
  43. 'label' => __( 'Link', 'vamtam-elements-b' ),
  44. 'preview' => array(
  45. 'type' => 'none',
  46. ),
  47. ),
  48. 'lightbox_embed' => array(
  49. 'type' => 'select',
  50. 'label' => __( 'Display contents in a lightbox (oEmbed required)', 'vamtam-elements-b' ),
  51. 'default' => 'false',
  52. 'options' => array(
  53. 'false' => __( 'No, treat as regular link', 'vamtam-elements-b' ),
  54. 'true' => __( 'Use lightbox', 'vamtam-elements-b' ),
  55. ),
  56. 'preview' => array(
  57. 'type' => 'none',
  58. ),
  59. 'toggle' => array(
  60. 'false' => array(
  61. 'fields' => array( 'link_target' ),
  62. ),
  63. ),
  64. ),
  65. 'link_target' => array(
  66. 'type' => 'select',
  67. 'label' => __( 'Link Target', 'vamtam-elements-b' ),
  68. 'default' => '_self',
  69. 'options' => array(
  70. '_self' => __( 'Same Window', 'vamtam-elements-b' ),
  71. '_blank' => __( 'New Window', 'vamtam-elements-b' ),
  72. ),
  73. 'preview' => array(
  74. 'type' => 'none',
  75. ),
  76. ),
  77. ),
  78. ),
  79. 'text' => array(
  80. 'title' => 'Text',
  81. 'fields' => array(
  82. 'text' => array(
  83. 'type' => 'editor',
  84. 'label' => '',
  85. 'media_buttons' => false,
  86. ),
  87. ),
  88. ),
  89. ),
  90. ),
  91. 'style' => array( // Tab
  92. 'title' => __( 'Style', 'vamtam-elements-b' ), // Tab title
  93. 'sections' => array( // Tab Sections
  94. 'colors' => array( // Section
  95. 'title' => __( 'Colors', 'vamtam-elements-b' ), // Section Title
  96. 'fields' => array( // Section Fields
  97. 'color' => array(
  98. 'type' => 'vamtam-color',
  99. 'label' => __( 'Color', 'vamtam-elements-b' ),
  100. ),
  101. 'hover_color' => array(
  102. 'type' => 'vamtam-color',
  103. 'label' => __( 'Hover Color', 'vamtam-elements-b' ),
  104. 'preview' => array(
  105. 'type' => 'none',
  106. ),
  107. ),
  108. 'bg_color' => array(
  109. 'type' => 'vamtam-color',
  110. 'label' => __( 'Background Color', 'vamtam-elements-b' ),
  111. ),
  112. 'bg_hover_color' => array(
  113. 'type' => 'vamtam-color',
  114. 'label' => __( 'Background Hover Color', 'vamtam-elements-b' ),
  115. 'preview' => array(
  116. 'type' => 'none',
  117. ),
  118. ),
  119. ),
  120. ),
  121. 'structure' => array( // Section
  122. 'title' => __( 'Structure', 'vamtam-elements-b' ), // Section Title
  123. 'fields' => array( // Section Fields
  124. 'size' => array(
  125. 'type' => 'text',
  126. 'label' => __( 'Size', 'vamtam-elements-b' ),
  127. 'default' => '30',
  128. 'maxlength' => '3',
  129. 'size' => '4',
  130. 'description' => 'px',
  131. ),
  132. 'align' => array(
  133. 'type' => 'select',
  134. 'label' => __( 'Alignment', 'vamtam-elements-b' ),
  135. 'default' => 'left',
  136. 'options' => array(
  137. 'center' => __( 'Center', 'vamtam-elements-b' ),
  138. 'left' => __( 'Left', 'vamtam-elements-b' ),
  139. 'right' => __( 'Right', 'vamtam-elements-b' ),
  140. ),
  141. ),
  142. ),
  143. ),
  144. 'r_structure' => array(
  145. 'title' => __( 'Mobile Structure', 'vamtam-elements-b' ),
  146. 'fields' => array(
  147. 'r_align' => array(
  148. 'type' => 'select',
  149. 'label' => __( 'Alignment', 'vamtam-elements-b' ),
  150. 'default' => 'default',
  151. 'options' => array(
  152. 'default' => __( 'Default', 'vamtam-elements-b' ),
  153. 'custom' => __( 'Custom', 'vamtam-elements-b' ),
  154. ),
  155. 'toggle' => array(
  156. 'custom' => array(
  157. 'fields' => array( 'r_custom_align' ),
  158. ),
  159. ),
  160. ),
  161. 'r_custom_align' => array(
  162. 'type' => 'select',
  163. 'label' => __( 'Custom Alignment', 'vamtam-elements-b' ),
  164. 'default' => 'left',
  165. 'options' => array(
  166. 'left' => __( 'Left', 'vamtam-elements-b' ),
  167. 'center' => __( 'Center', 'vamtam-elements-b' ),
  168. 'right' => __( 'Right', 'vamtam-elements-b' ),
  169. ),
  170. ),
  171. ),
  172. ),
  173. ),
  174. ),
  175. ));