PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 1.0.0
ShopBuilder – WooCommerce Builder For Elementor v1.0.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
shopbuilder / app / Models / ElementList.php

ElementList.php in ShopBuilder – WooCommerce Builder For Elementor 1.0.0, at app/Models/ElementList.php

752 lines 23.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace RadiusTheme\SB\Models;
4
5 // Do not allow directly accessing this file.
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit( 'This script cannot be accessed directly.' );
8 }
9
10 use RadiusTheme\SB\Elementor\Widgets\Archive;
11 use RadiusTheme\SB\Elementor\Widgets\Cart;
12 use RadiusTheme\SB\Elementor\Widgets\Checkout;
13 use RadiusTheme\SB\Elementor\Widgets\General;
14 use RadiusTheme\SB\Elementor\Widgets\Single;
15 use RadiusTheme\SB\Models\Base\ListModel;
16 use RadiusTheme\SB\Traits\SingletonTrait;
17
18 /**
19 * Elementor Element List
20 */
21 class ElementList extends ListModel {
22 /**
23 * Singleton
24 */
25 use SingletonTrait;
26 /**
27 * List id
28 *
29 * @var string
30 */
31 protected $list_id = 'elements';
32 /**
33 * Elementor Elements
34 */
35 public function __construct() {
36 parent::__construct();
37 $this->title = esc_html__( 'Elementor Widgets', 'shopbuilder' );
38 $this->short_title = esc_html__( 'Elements', 'shopbuilder' );
39 $this->description = esc_html__( 'Here you can find the list of all Elementor widgets. You can individually enable or disable the elements. Or you can do that by one click.', 'shopbuilder' );
40 $this->categories = [
41 'general' => [
42 'title' => esc_html__( 'General', 'shopbuilder' ),
43 ],
44 'shop' => [
45 'title' => esc_html__( 'Shop / Archive', 'shopbuilder' ),
46 ],
47 'product' => [
48 'title' => esc_html__( 'Single', 'shopbuilder' ),
49 ],
50 'cart' => [
51 'title' => esc_html__( 'Cart', 'shopbuilder' ),
52 ],
53 /*
54 * TODO:: Will add later
55 'checkout' => [
56 'title' => esc_html__( 'Checkout', 'shopbuilder' ),
57 ],
58 */
59 ];
60 }
61
62 /**
63 * Widget List.
64 *
65 * @return array
66 */
67 protected function raw_list() {
68 $list = $this->product_page_widget_list()
69 + $this->general_widget_list()
70 + $this->shop_archive_page_widget_list()
71 + $this->cart_page_widget_list()
72 + $this->checkout_page_widget_list();
73
74 return apply_filters( 'rtsb/core/elements/raw_list', $list );
75 }
76
77 /**
78 * GLobal Widget List.
79 *
80 * @return array
81 */
82 protected function general_widget_list() {
83 $list = [
84 'wc_breadcrumbs' => apply_filters(
85 'rtsb/elements/wc_breadcrumbs/options',
86 [
87 'id' => 'wc_breadcrumbs',
88 'title' => esc_html__( 'Breadcrumbs', 'shopbuilder' ),
89 'base_class' => General\ProductBreadcrumbs::class,
90 'category' => 'general',
91 'active' => 'on',
92 'package' => 'free',
93 'fields' => [],
94 ]
95 ),
96 'products_grid' => apply_filters(
97 'rtsb/elements/products_grid/options',
98 [
99 'id' => 'products_grid',
100 'title' => esc_html__( 'Products - Grid Layouts', 'shopbuilder' ),
101 'base_class' => General\ProductsGrid::class,
102 'category' => 'general',
103 'active' => 'on',
104 'package' => 'free',
105 'fields' => [],
106 ]
107 ),
108 'products_list' => apply_filters(
109 'rtsb/elements/products_list/options',
110 [
111 'id' => 'products_list',
112 'title' => esc_html__( 'Products - List Layouts', 'shopbuilder' ),
113 'base_class' => General\ProductsList::class,
114 'category' => 'general',
115 'active' => 'on',
116 'package' => 'free',
117 'fields' => [],
118 ]
119 ),
120
121 'products_slider' => apply_filters(
122 'rtsb/elements/products_slider/options',
123 [
124 'id' => 'products_slider',
125 'title' => esc_html__( 'Products - Slider Layouts', 'shopbuilder' ),
126 'base_class' => General\ProductsSlider::class,
127 'category' => 'general',
128 'active' => 'on',
129 'package' => 'free',
130 'fields' => [],
131 ]
132 ),
133
134 'products_single_cateogory' => apply_filters(
135 'rtsb/elements/products_single_cateogory/options',
136 [
137 'id' => 'products_single_cateogory',
138 'title' => esc_html__( 'Single Category', 'shopbuilder' ),
139 'base_class' => General\ProductsSingleCategory::class,
140 'category' => 'general',
141 'active' => 'on',
142 'package' => 'free',
143 'fields' => [],
144 ]
145 ),
146 'product_cateogories' => apply_filters(
147 'rtsb/elements/product_cateogories/options',
148 [
149 'id' => 'product_cateogories',
150 'title' => esc_html__( 'Product Categories', 'shopbuilder' ),
151 'base_class' => General\ProductCategories::class,
152 'category' => 'general',
153 'active' => 'on',
154 'package' => 'free',
155 'fields' => [],
156 ]
157 ),
158 'social_share' => apply_filters(
159 'rtsb/elements/social_share/options',
160 [
161 'id' => 'social_share',
162 'title' => esc_html__( 'Social Share', 'shopbuilder' ),
163 'base_class' => General\SocialShare::class,
164 'category' => 'general',
165 'active' => 'on',
166 'package' => 'free',
167 'fields' => [],
168 ]
169 ),
170 ];
171
172 return apply_filters( 'rtsb/core/elements/general/widget_list', $list );
173 }
174
175 /**
176 * Product Single Widget List.
177 *
178 * @return array
179 */
180 protected function product_page_widget_list() {
181
182 $list = [
183
184 'upsells_product_custom' => apply_filters(
185 'rtsb/elements/upsells_product_custom/options',
186 [
187 'id' => 'upsells_product_custom',
188 'title' => esc_html__( 'Upsells Product - Custom Layout', 'shopbuilder' ),
189 'base_class' => Single\UpsellsProductsCustom::class,
190 'category' => 'product',
191 'active' => 'on',
192 'package' => 'free',
193 'fields' => [],
194 ]
195 ),
196
197 'upsells_products_slider_custom' => apply_filters(
198 'rtsb/elements/upsells_products_slider_custom/options',
199 [
200 'id' => 'upsells_products_slider_custom',
201 'title' => esc_html__( 'Upsells Product Slider- Custom Layout', 'shopbuilder' ),
202 'base_class' => Single\UpsellsProductsSlider::class,
203 'category' => 'product',
204 'active' => 'on',
205 'package' => 'free',
206 'fields' => [],
207 ]
208 ),
209
210
211 'related_product_custom' => apply_filters(
212 'rtsb/elements/related_product_custom/options',
213 [
214 'id' => 'related_product_custom',
215 'title' => esc_html__( 'Related Product - Custom Layout', 'shopbuilder' ),
216 'base_class' => Single\RelatedProductsCustom::class,
217 'category' => 'product',
218 'active' => 'on',
219 'package' => 'free',
220 'fields' => [],
221 ]
222 ),
223
224 'related_products_slider_custom' => apply_filters(
225 'rtsb/elements/related_products_slider_custom/options',
226 [
227 'id' => 'related_products_slider_custom',
228 'title' => esc_html__( 'Related Products Slider - Custom Layouts', 'shopbuilder' ),
229 'base_class' => Single\RelatedProductsSlider::class,
230 'category' => 'product',
231 'active' => 'on',
232 'package' => 'free',
233 'fields' => [],
234 ]
235 ),
236
237 'upsells_product' => apply_filters(
238 'rtsb/elements/upsells_product/options',
239 [
240 'id' => 'upsells_product',
241 'title' => esc_html__( 'Upsells Product - Default Layout', 'shopbuilder' ),
242 'base_class' => Single\UpsellsProduct::class,
243 'category' => 'product',
244 'active' => 'on',
245 'package' => 'free',
246 'fields' => [],
247 ]
248 ),
249
250 'related_product' => apply_filters(
251 'rtsb/elements/related_product/options',
252 [
253 'id' => 'related_product',
254 'title' => esc_html__( 'Related Product - Default Layout', 'shopbuilder' ),
255 'base_class' => Single\RelatedProduct::class,
256 'category' => 'product',
257 'active' => 'on',
258 'package' => 'free',
259 'fields' => [],
260 ]
261 ),
262
263 'product_title' => apply_filters(
264 'rtsb/elements/product_title/options',
265 [
266 'id' => 'product_title',
267 'title' => esc_html__( 'Product Title', 'shopbuilder' ),
268 'base_class' => Single\ProductTitle::class,
269 'category' => 'product',
270 'active' => 'on',
271 'package' => 'free',
272 'fields' => [],
273 ]
274 ),
275 'product_images' => apply_filters(
276 'rtsb/elements/product_images/options',
277 [
278 'id' => 'product_images',
279 'title' => esc_html__( 'Product Images', 'shopbuilder' ),
280 'base_class' => Single\ProductImages::class,
281 'category' => 'product',
282 'active' => 'on',
283 'package' => 'free',
284 'fields' => [],
285 ]
286 ),
287 'product_short_description' => apply_filters(
288 'rtsb/elements/product_short_description/options',
289 [
290 'id' => 'product_short_description',
291 'title' => esc_html__( 'Short Description', 'shopbuilder' ),
292 'base_class' => Single\ShortDescription::class,
293 'category' => 'product',
294 'active' => 'on',
295 'package' => 'free',
296 'fields' => [],
297 ]
298 ),
299 'product_description' => apply_filters(
300 'rtsb/elements/product_description/options',
301 [
302 'id' => 'product_description',
303 'title' => esc_html__( 'Product Description', 'shopbuilder' ),
304 'base_class' => Single\ProductDescription::class,
305 'category' => 'product',
306 'active' => 'on',
307 'package' => 'free',
308 'fields' => [],
309 ]
310 ),
311 'product_additional_info' => apply_filters(
312 'rtsb/elements/product_additional_info/options',
313 [
314 'id' => 'product_additional_info',
315 'title' => esc_html__( 'Additional Information', 'shopbuilder' ),
316 'base_class' => Single\AdditionalInformation::class,
317 'category' => 'product',
318 'active' => 'on',
319 'package' => 'free',
320 'fields' => [],
321 ]
322 ),
323 'product_rating' => apply_filters(
324 'rtsb/elements/product_rating/options',
325 [
326 'id' => 'product_rating',
327 'title' => esc_html__( 'Product Rating', 'shopbuilder' ),
328 'base_class' => Single\ProductRating::class,
329 'category' => 'product',
330 'active' => 'on',
331 'package' => 'free',
332 'fields' => [],
333 ]
334 ),
335 'product_price' => apply_filters(
336 'rtsb/elements/product_price/options',
337 [
338 'id' => 'product_price',
339 'title' => esc_html__( 'Product Price', 'shopbuilder' ),
340 'base_class' => Single\ProductPrice::class,
341 'category' => 'product',
342 'active' => 'on',
343 'package' => 'free',
344 'fields' => [],
345 ]
346 ),
347 'product_meta' => apply_filters(
348 'rtsb/elements/product_meta/options',
349 [
350 'id' => 'product_meta',
351 'title' => esc_html__( 'Product Meta', 'shopbuilder' ),
352 'base_class' => Single\ProductMeta::class,
353 'category' => 'product',
354 'active' => 'on',
355 'package' => 'free',
356 'fields' => [],
357 ]
358 ),
359 'product_categories' => apply_filters(
360 'rtsb/elements/product_categories/options',
361 [
362 'id' => 'product_categories',
363 'title' => esc_html__( 'Product Categories', 'shopbuilder' ),
364 'base_class' => Single\ProductCats::class,
365 'category' => 'product',
366 'active' => 'on',
367 'package' => 'free',
368 'fields' => [],
369 ]
370 ),
371 'product_tags' => apply_filters(
372 'rtsb/elements/product_tags/options',
373 [
374 'id' => 'product_tags',
375 'title' => esc_html__( 'Product Tags', 'shopbuilder' ),
376 'base_class' => Single\ProductTags::class,
377 'category' => 'product',
378 'active' => 'on',
379 'package' => 'free',
380 'fields' => [],
381 ]
382 ),
383 'product_sku' => apply_filters(
384 'rtsb/elements/product_sku/options',
385 [
386 'id' => 'product_sku',
387 'title' => esc_html__( 'Product SKU', 'shopbuilder' ),
388 'base_class' => Single\ProductSKU::class,
389 'category' => 'product',
390 'active' => 'on',
391 'package' => 'free',
392 'fields' => [],
393 ]
394 ),
395 'product_stock' => apply_filters(
396 'rtsb/elements/product_stock/options',
397 [
398 'id' => 'product_stock',
399 'title' => esc_html__( 'Product Stock', 'shopbuilder' ),
400 'base_class' => Single\ProductStock::class,
401 'category' => 'product',
402 'active' => 'on',
403 'package' => 'free',
404 'fields' => [],
405 ]
406 ),
407 'product_add_to_cart' => apply_filters(
408 'rtsb/elements/product_add_to_cart/options',
409 [
410 'id' => 'product_add_to_cart',
411 'title' => esc_html__( 'Product add to cart', 'shopbuilder' ),
412 'base_class' => Single\ProductAddToCart::class,
413 'category' => 'product',
414 'active' => 'on',
415 'package' => 'free',
416 'fields' => [],
417 ]
418 ),
419 'product_notice' => apply_filters(
420 'rtsb/elements/product_notice/options',
421 [
422 'id' => 'product_notice',
423 'title' => esc_html__( 'Notice', 'shopbuilder' ),
424 'base_class' => Single\Notice::class,
425 'category' => 'product',
426 'active' => 'on',
427 'package' => 'free',
428 'fields' => [],
429 ]
430 ),
431 'product_reviews' => apply_filters(
432 'rtsb/elements/product_reviews/options',
433 [
434 'id' => 'product_reviews',
435 'title' => esc_html__( 'Product Reviews', 'shopbuilder' ),
436 'base_class' => Single\ProductReviews::class,
437 'category' => 'product',
438 'active' => 'on',
439 'package' => 'free',
440 'fields' => [],
441 ]
442 ),
443
444 'product_tabs' => apply_filters(
445 'rtsb/elements/product_tabs/options',
446 [
447 'id' => 'product_tabs',
448 'title' => esc_html__( 'Product Tabs', 'shopbuilder' ),
449 'base_class' => Single\ProductTabs::class,
450 'category' => 'product',
451 'active' => 'on',
452 'package' => 'free',
453 'fields' => [],
454 ]
455 ),
456 'actions_button' => apply_filters(
457 'rtsb/elements/actions_button/options',
458 [
459 'id' => 'actions_button',
460 'title' => esc_html__( 'Actions Button', 'shopbuilder' ),
461 'base_class' => Single\ActionsButton::class,
462 'category' => 'product',
463 'active' => 'on',
464 'package' => 'free',
465 'fields' => [],
466 ]
467 ),
468 'product_share' => apply_filters(
469 'rtsb/elements/product_share/options',
470 [
471 'id' => 'product_share',
472 'title' => esc_html__( 'Product Share', 'shopbuilder' ),
473 'base_class' => Single\ProductShare::class,
474 'category' => 'product',
475 'active' => 'on',
476 'package' => 'free',
477 'fields' => [],
478 ]
479 ),
480
481
482 ];
483
484 return apply_filters( 'rtsb/core/elements/product_page/widget_list', $list );
485 }
486
487 /**
488 * Product Archive Widget List.
489 *
490 * @return array
491 */
492 protected function shop_archive_page_widget_list() {
493 $list = [
494
495 'products_archive_catalog_custom' => apply_filters(
496 'rtsb/elements/products_archive_catalog_custom/options',
497 [
498 'id' => 'products_archive_catalog_custom',
499 'title' => esc_html__( 'Products Archive - Custom ', 'shopbuilder' ),
500 'base_class' => Archive\ProductsArchiveCustom::class,
501 'category' => 'shop',
502 'active' => 'on',
503 'package' => 'free',
504 'fields' => [],
505 ]
506 ),
507
508 'products_archive_catalog' => apply_filters(
509 'rtsb/elements/products_archive_catalog/options',
510 [
511 'id' => 'products_archive_catalog',
512 'title' => esc_html__( 'Products Archive - Default Layout', 'shopbuilder' ),
513 'base_class' => Archive\ProductsArchive::class,
514 'category' => 'shop',
515 'active' => 'on',
516 'package' => 'free',
517 'fields' => [],
518 ]
519 ),
520
521 'archive_title' => apply_filters(
522 'rtsb/elements/archive_title/options',
523 [
524 'id' => 'archive_title',
525 'title' => esc_html__( 'Archive Title', 'shopbuilder' ),
526 'base_class' => Archive\ArchiveTitle::class,
527 'category' => 'shop',
528 'active' => 'on',
529 'package' => 'free',
530 'fields' => [],
531 ]
532 ),
533 'archive_description' => apply_filters(
534 'rtsb/elements/archive_description/options',
535 [
536 'id' => 'archive_description',
537 'title' => esc_html__( 'Archive Description', 'shopbuilder' ),
538 'base_class' => Archive\ArchiveDescription::class,
539 'category' => 'shop',
540 'active' => 'on',
541 'package' => 'free',
542 'fields' => [],
543 ]
544 ),
545
546
547 'archive_result_count' => apply_filters(
548 'rtsb/elements/archive_result_count/options',
549 [
550 'id' => 'archive_result_count',
551 'title' => esc_html__( 'Result Count', 'shopbuilder' ),
552 'base_class' => Archive\ArchiveResultCount::class,
553 'category' => 'shop',
554 'active' => 'on',
555 'package' => 'free',
556 'fields' => [],
557 ]
558 ),
559 'archive_products_ordering' => apply_filters(
560 'rtsb/elements/archive_products_ordering/options',
561 [
562 'id' => 'archive_products_ordering',
563 'title' => esc_html__( 'Products Ordering', 'shopbuilder' ),
564 'base_class' => Archive\ProductsOrdering::class,
565 'category' => 'shop',
566 'active' => 'on',
567 'package' => 'free',
568 'fields' => [],
569 ]
570 ),
571 'archive_product_mode' => apply_filters(
572 'rtsb/elements/archive_product_mode/options',
573 [
574 'id' => 'archive_product_mode',
575 'title' => esc_html__( 'View Mode', 'shopbuilder' ),
576 'base_class' => Archive\ArchiveProductMode::class,
577 'category' => 'shop',
578 'active' => 'on',
579 'package' => 'free',
580 'fields' => [],
581 ]
582 ),
583 ];
584
585 return apply_filters( 'rtsb/core/elements/shop/widget_list', $list );
586 }
587
588 /**
589 * Cart Page Widget List.
590 *
591 * @return array
592 */
593 protected function cart_page_widget_list() {
594 $list = [
595 'cross_sells_custom' => apply_filters(
596 'rtsb/elements/cross_sells_custom/options',
597 [
598 'id' => 'cross_sells_custom',
599 'title' => esc_html__( 'Cross sells - Custom Layout', 'shopbuilder' ),
600 'base_class' => Cart\CrossSellsProductsCustom::class,
601 'category' => 'cart',
602 'active' => 'on',
603 'package' => 'free',
604 'fields' => [],
605 ]
606 ),
607
608 'cross_sells_custom_slider' => apply_filters(
609 'rtsb/elements/cross_sells_custom_slider/options',
610 [
611 'id' => 'cross_sells_custom_slider',
612 'title' => esc_html__( 'Cross sells Slider- Custom Layout', 'shopbuilder' ),
613 'base_class' => Cart\CrossSellsProductsSlider::class,
614 'category' => 'cart',
615 'active' => 'on',
616 'package' => 'free',
617 'fields' => [],
618 ]
619 ),
620
621 'cross_sells' => apply_filters(
622 'rtsb/elements/cross_sells/options',
623 [
624 'id' => 'cross_sells',
625 'title' => esc_html__( 'Cross sells - Default Layout', 'shopbuilder' ),
626 'base_class' => Cart\CrossSellProduct::class,
627 'category' => 'cart',
628 'active' => 'on',
629 'package' => 'free',
630 'fields' => [],
631 ]
632 ),
633 'cart_table' => apply_filters(
634 'rtsb/elements/cart_table/options',
635 [
636 'id' => 'cart_table',
637 'title' => esc_html__( 'Cart Table', 'shopbuilder' ),
638 'base_class' => Cart\CartTable::class,
639 'category' => 'cart',
640 'active' => 'on',
641 'package' => 'free',
642 'fields' => [],
643 ]
644 ),
645 'cart_totals' => apply_filters(
646 'rtsb/elements/cart_totals/options',
647 [
648 'id' => 'cart_totals',
649 'title' => esc_html__( 'Cart Totals', 'shopbuilder' ),
650 'base_class' => Cart\CartTotals::class,
651 'category' => 'cart',
652 'active' => 'on',
653 'package' => 'free',
654 'fields' => [],
655 ]
656 ),
657
658
659
660 ];
661
662 return apply_filters( 'rtsb/core/elements/cart/widget_list', $list );
663 }
664 /**
665 * Checkout Page Widget List.
666 *
667 * @return array
668 */
669 protected function checkout_page_widget_list() {
670 $list = [
671 'billing_form' => apply_filters(
672 'rtsb/elements/billing_form/options',
673 [
674 'id' => 'billing_form',
675 'title' => esc_html__( 'Billing Form', 'shopbuilder' ),
676 'base_class' => Checkout\BillingForm::class,
677 'category' => 'checkout',
678 'active' => 'on',
679 'package' => 'pro-disabled',
680 'fields' => [],
681 ]
682 ),
683
684 'shipping_form' => apply_filters(
685 'rtsb/elements/shipping_form/options',
686 [
687 'id' => 'shipping_form',
688 'title' => esc_html__( 'Shipping Form', 'shopbuilder' ),
689 'base_class' => Checkout\ShippingForm::class,
690 'category' => 'checkout',
691 'active' => 'on',
692 'package' => 'pro-disabled',
693 'fields' => [],
694 ]
695 ),
696
697 'order_notes' => apply_filters(
698 'rtsb/elements/order_notes/options',
699 [
700 'id' => 'order_notes',
701 'title' => esc_html__( 'Order Notes', 'shopbuilder' ),
702 'base_class' => Checkout\OrderNotes::class,
703 'category' => 'checkout',
704 'active' => 'on',
705 'package' => 'pro-disabled',
706 'fields' => [],
707 ]
708 ),
709 'order_review' => apply_filters(
710 'rtsb/elements/order_review/options',
711 [
712 'id' => 'order_review',
713 'title' => esc_html__( 'Order Review', 'shopbuilder' ),
714 'base_class' => Checkout\OrderReview::class,
715 'category' => 'checkout',
716 'active' => 'on',
717 'package' => 'pro-disabled',
718 'fields' => [],
719 ]
720 ),
721
722 'checkout_payment' => apply_filters(
723 'rtsb/elements/checkout_payment/options',
724 [
725 'id' => 'checkout_payment',
726 'title' => esc_html__( 'Checkout payment', 'shopbuilder' ),
727 'base_class' => Checkout\CheckoutPayment::class,
728 'category' => 'checkout',
729 'active' => 'on',
730 'package' => 'pro-disabled',
731 'fields' => [],
732 ]
733 ),
734
735 'coupon_form' => apply_filters(
736 'rtsb/elements/coupon_form/options',
737 [
738 'id' => 'coupon_form',
739 'title' => esc_html__( 'Coupon Form', 'shopbuilder' ),
740 'base_class' => Checkout\CouponForm::class,
741 'category' => 'checkout',
742 'active' => 'on',
743 'package' => 'pro-disabled',
744 'fields' => [],
745 ]
746 ),
747
748 ];
749 return apply_filters( 'rtsb/core/elements/checkout/widget_list', $list );
750 }
751 }
752