biz9-logic 10.0.79 → 10.0.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. package/biz9_config +1 -1
  2. package/index.js +110 -51
  3. package/notez +17 -0
  4. package/package.json +1 -1
  5. package/test.js +23 -3
package/biz9_config CHANGED
@@ -1,4 +1,4 @@
1
- VERSION='10.8.0'
1
+ VERSION='10.8.4'
2
2
  TITLE='BiZ9-Logic';
3
3
  REPO='git@github.com:biz9framework/biz9-logic.git';
4
4
  BRANCH='main'
package/index.js CHANGED
@@ -67,6 +67,7 @@ class Type {
67
67
  static DATA_PAGE='page_biz';
68
68
  static DATA_REVIEW='review_biz';
69
69
  static DATA_SERVICE='service_biz';
70
+ static DATA_SUB_VALUE='sub_value_biz';
70
71
  static DATA_SECURITY='security_biz';
71
72
  static DATA_STAT='stat_biz';
72
73
  static DATA_TEMPLATE='template_biz';
@@ -239,6 +240,11 @@ class Type {
239
240
  static SEARCH_COUNT='count';
240
241
  static SEARCH_SORT_BY_ASC='asc';
241
242
  static SEARCH_SORT_BY_DESC='desc';
243
+ //sub_value
244
+ static SUB_VALUE_TYPE_TEXT = 'text';
245
+ static SUB_VALUE_TYPE_NOTE = 'note';
246
+ static SUB_VALUE_TYPE_IMAGE = 'image';
247
+ static SUB_VALUE_TYPE_ITEMS = 'items';
242
248
  //stat
243
249
  static STAT_CART='cart_post';
244
250
  static STAT_CART_ITEM='cart_item_post';
@@ -603,15 +609,15 @@ class Content_Logic {
603
609
  };
604
610
 
605
611
  class Blank_Logic {
606
- static get_test = () =>{
612
+ static get_test = (option) =>{
607
613
  let data = Data_Logic.get(Type.DATA_BLANK,0);
608
614
  data.field_1="Field 1 "+ Num.get_id();
609
615
  data.field_2="Field 2 "+ Num.get_id();
610
- return data;
616
+ return data;
611
617
  };
612
618
  };
613
619
  class Blog_Post_Logic {
614
- static get_test = () =>{
620
+ static get_test = (option) =>{
615
621
  let data = Data_Logic.get(Type.DATA_BLOG_POST,0);
616
622
  data.author="Full Name "+ Num.get_id();
617
623
  data.tag = "Tag "+ Num.get_id() + ", Tag "+Num.get_id() + ", Tag "+ Num.get_id(), " Tag "+ Num.get_id() + ", Tag "+Num.get_id() + ", Tag "+ Num.get_id();
@@ -624,11 +630,13 @@ class Blog_Post_Logic {
624
630
  };
625
631
  }
626
632
  class Gallery_Logic {
627
- static get_test = () =>{
633
+ static get_test = (option) =>{
634
+
628
635
  let data = Data_Logic.get(Type.DATA_GALLERY,0);
629
- data.date = String(String(Num.get_id(2030)) + "-" + String(Num.get_id(13)) + "-" + String(Num.get_id(30))).trim();
630
- data.time = String(Num.get_id(24)) + ":" + String(Num.get_id(59));
631
- data.website = "Website "+String(Num.get_id());
636
+
637
+ data.date = String(String(Num.get_id(2030)) + "-" + String(Num.get_id(13)) + "-" + String(Num.get_id(30))).trim();
638
+ data.time = String(Num.get_id(24)) + ":" + String(Num.get_id(59));
639
+ data.website = "Website "+String(Num.get_id());
632
640
  return data;
633
641
  };
634
642
  };
@@ -677,14 +685,14 @@ class Event_Logic {
677
685
  }
678
686
  class Field_Logic {
679
687
  static get_base_option = (data,option) => {
680
- if(option.title){
681
- data[Type.FIELD_TITLE] = option.title;
682
- data[Type.FIELD_TITLE_URL] = Str.get_title_url(option.title);
683
- }
684
- if(option.generate_title || option.test){
688
+ if(option.test && !option.title){
685
689
  data[Type.FIELD_TITLE] = Data_Logic.get_data_type_by_type(data.data_type) + " " +Num.get_id(999);
686
690
  data[Type.FIELD_TITLE_URL] = Str.get_title_url(data[Type.FIELD_TITLE]);
687
691
  }
692
+ if(option.title){
693
+ data[Type.FIELD_TITLE] = option.title;
694
+ data[Type.FIELD_TITLE_URL] = Str.get_title_url(option.title);
695
+ }
688
696
  if(option.parent){
689
697
  data[Type.FIELD_PARENT_DATA_TYPE] = option.parent[Type.FIELD_DATA_TYPE] ? option.parent[Type.FIELD_DATA_TYPE] : Type.DATA_BLANK;
690
698
  data[Type.FIELD_PARENT_ID] = option.parent[Type.FIELD_ID] ? option.parent[Type.FIELD_ID] : 0;
@@ -694,7 +702,7 @@ class Field_Logic {
694
702
  }
695
703
  return data;
696
704
  };
697
- static get_item_max_group_id = (value_id,item) => {
705
+ static get_item_max_group_id_old = (value_id,item) => {
698
706
  let max_group_id = 0;
699
707
  let full_prop_str = "";
700
708
  for(const prop in item){
@@ -710,7 +718,7 @@ class Field_Logic {
710
718
  }
711
719
  return max_group_id;
712
720
  }
713
- static get_item_field_values = (data) => {
721
+ static get_item_field_values_old = (data) => {
714
722
  let max_value_id = 1;
715
723
  let max_group_id = 1;
716
724
  let full_prop_str = "";
@@ -754,7 +762,7 @@ class Field_Logic {
754
762
  }
755
763
  return data;
756
764
  }
757
- static get_item_field_value_types = () => {
765
+ static get_item_field_value_types_old = () => {
758
766
  return [
759
767
  {value:'text',label:'Text'},
760
768
  {value:'note',label:'Note'},
@@ -762,14 +770,14 @@ class Field_Logic {
762
770
  {value:'items',label:'List'},
763
771
  ];
764
772
  };
765
- static get_field_value_value = (value_type,item,value_id) =>{
773
+ static get_field_value_value_old = (value_type,item,value_id) =>{
766
774
  if(value_type!=Type.FIELD_VALUE_ITEMS){
767
775
  return !Str.check_is_null(item[Field_Logic.get_field_value_title(value_type,value_id)]) ? item[Field_Logic.get_field_value_title(value_type,value_id)] : ""
768
776
  }else{
769
777
  return item[Field_Logic.get_field_value_items_title(value_id)] ? item[Field_Logic.get_field_value_items_title(value_id)] : [];
770
778
  }
771
779
  };
772
- static get_field_value_title = (value_type,value_id,group_id,sub_field_title) =>{
780
+ static get_field_value_title_old = (value_type,value_id,group_id,sub_field_title) =>{
773
781
  switch(value_type){
774
782
  case Type.FIELD_VALUE_TEXT:
775
783
  return 'text'+'_value_'+value_id;
@@ -800,15 +808,6 @@ class Field_Logic {
800
808
  static get_test = (title,option) =>{
801
809
  option = !Obj.check_is_empty(option) ? option : {};
802
810
  let item = {};
803
- if(option.blank == true){
804
- option.category_title = "";
805
- item = {
806
- title:title,
807
- title_url:title,
808
- title_url:Str.get_title_url(title),
809
- setting_visible:"1",
810
- }
811
- }else{
812
811
  item = {
813
812
  title:title,
814
813
  setting_visible:"1",
@@ -819,13 +818,10 @@ class Field_Logic {
819
818
  date_create:new moment().toISOString(),
820
819
  date_save:new moment().toISOString()
821
820
  }
822
- }
823
821
  if(!Str.check_is_null(option.category_title)){
824
822
  item.category = 'Category ' + Num.get_id();
825
823
  }
826
- if(option.generate_id){
827
- item.id=Num.get_guid();
828
- }
824
+ /*-old
829
825
  if(option.get_value){
830
826
  item = Field_Logic.get_values(item,option);
831
827
  }
@@ -843,6 +839,7 @@ class Field_Logic {
843
839
  }
844
840
  }
845
841
  }
842
+ */
846
843
  return item;
847
844
  }
848
845
  static get_field_value_items_title(value_id){
@@ -862,6 +859,7 @@ class Field_Logic {
862
859
  }
863
860
  return items;
864
861
  }
862
+ /*--old
865
863
  static get_values(item,option){
866
864
  for(let b=0;b<parseInt(option.value_count);b++){
867
865
  if(option.blank == false){
@@ -876,6 +874,7 @@ class Field_Logic {
876
874
  }
877
875
  return item;
878
876
  };
877
+ */
879
878
  }
880
879
  class Favorite_Logic {
881
880
  static get = (parent_data_type,parent_id,user_id) =>{
@@ -986,7 +985,13 @@ class Storage {
986
985
  }
987
986
  }
988
987
  class Page_Logic {
989
- static get_pages(){
988
+ static get_test = () =>{
989
+ let data = Data_Logic.get(Type.DATA_PAGE,0);
990
+ data.title="Title "+ Num.get_id();
991
+ data.value="Value "+ Num.get_id();
992
+ return data;
993
+ };
994
+ static get_pages(){
990
995
  return [
991
996
  {value:Type.PAGE_ABOUT,title:Type.TITLE_PAGE_ABOUT,label:Type.TITLE_PAGE_ABOUT,url:Url.PAGE_ABOUT},
992
997
  {value:Type.PAGE_BLOG_POST,title:Type.TITLE_PAGE_BLOG_POST,label:Type.TITLE_PAGE_BLOG_POST,url:Url.PAGE_BLOG_POST},
@@ -2148,48 +2153,70 @@ class Data_Logic {
2148
2153
  static get_new = (data_type,id,option) => {
2149
2154
  return Data_Logic.get(data_type,id,option);
2150
2155
  };
2151
- // --> option = / test / blank / title / generate_title / count / data
2156
+ static get_sub_value = (parent_data_type,parent_id,title,option) => {
2157
+ option = option ? option : {};
2158
+ let value = option.value ? option.value : '';
2159
+ let type = option.type ? option.type : Type.SUB_VALUE_TYPE_TEXT; // SUB_VALUE_TYPE_TEXT,NOTE,IMAGE,ITEMS
2160
+ return Data_Logic.get(Type.DATA_SUB_VALUE,0,{title:title,data:{parent_data_type:parent_data_type,parent_id:parent_id,value:value,type:type}});
2161
+ };
2162
+ // --> option = / test / blank / title / sub_value_count / count / data
2152
2163
  static get = (data_type,id,option) => {
2153
2164
  option = option ? option : {};
2165
+ function get_blank_field(data){
2166
+ for(const field in data){
2167
+ if(
2168
+ field != Type.FIELD_ID &&
2169
+ field != Type.FIELD_DATA_TYPE &&
2170
+ field != Type.FIELD_TITLE &&
2171
+ field != Type.FIELD_TITLE_URL
2172
+ ){
2173
+ data[field] = '';
2174
+ }
2175
+ }
2176
+ return data;
2177
+ };
2154
2178
  function get_test_data(data_type){
2155
2179
  switch(data_type)
2156
2180
  {
2157
2181
  case Type.DATA_BLOG_POST:
2158
- return Blog_Post_Logic.get_test();
2182
+ return Blog_Post_Logic.get_test(option);
2159
2183
  break;
2160
2184
  case Type.DATA_SERVICE:
2161
- return Service_Logic.get_test();
2185
+ return Service_Logic.get_test(option);
2162
2186
  break;
2163
2187
  case Type.DATA_EVENT:
2164
- return Event_Logic.get_test();
2165
- breaip
2188
+ return Event_Logic.get_test(option);
2189
+ break;
2190
+ case Type.DATA_PAGE:
2191
+ return Page_Logic.get_test(option);
2192
+ break;
2166
2193
  case Type.DATA_PRODUCT:
2167
- return Product_Logic.get_test();
2194
+ return Product_Logic.get_test(option);
2168
2195
  break;
2169
2196
  case Type.DATA_REVIEW:
2170
- return Review_Logic.get_test();
2197
+ return Review_Logic.get_test(option);
2171
2198
  break;
2172
2199
  case Type.DATA_CONTENT:
2173
2200
  case Type.DATA_CATEGORY:
2174
2201
  case Type.DATA_BLANK:
2175
- return Blank_Logic.get_test();
2202
+ return Blank_Logic.get_test(option);
2176
2203
  break;
2177
2204
  case Type.DATA_USER:
2178
- return User_Logic.get_test();
2205
+ return User_Logic.get_test(option);
2179
2206
  break;
2180
2207
  default:
2181
- return Blank_Logic.get_test();
2208
+ return Blank_Logic.get_test(option);
2182
2209
  break;
2183
2210
  }
2184
2211
  }
2185
2212
  let data = null;
2186
- if(option.count>1){
2213
+ if(option.count>0){
2187
2214
  data = [];
2188
2215
  }else{
2189
2216
  data = {data_type:data_type,id:id};
2190
2217
  }
2191
2218
  option = option ? option : {count:0};
2192
- data = Field_Logic.get_base_option(data,option);
2219
+ data = Field_Logic.get_base_option(data,option);
2193
2220
  if(option.test){
2194
2221
  data = Obj.merge(get_test_data(data_type),data);
2195
2222
  }
@@ -2198,26 +2225,58 @@ class Data_Logic {
2198
2225
  data[Type.FIELD_TITLE_URL] = Str.get_title_url(option.title);
2199
2226
  }
2200
2227
  if(option.blank){
2201
- for(const field in data){
2202
- if(field != Type.FIELD_ID && field != Type.FIELD_DATA_TYPE){
2203
- data[field] = '';
2204
- }
2205
- }
2228
+ data = get_blank_field(data);
2206
2229
  }
2207
- if(option.count>1){
2230
+ if(option.count>0){
2208
2231
  let items = [];
2209
- for(let a = 0;a<option.count;a++){
2232
+ for(let a = 1;a<option.count+1;a++){
2233
+ let test_data = Field_Logic.get_base_option(data,option);
2210
2234
  let my_title = Data_Logic.get_data_type_by_type(data_type) + " " +Num.get_id(999);
2211
- let test_data = Obj.merge(data,get_test_data(data.data_type));
2235
+ if(option.test){
2236
+ test_data = Obj.merge(data,get_test_data(data_type));
2237
+ }
2212
2238
  test_data[Type.FIELD_TITLE] = my_title;
2213
2239
  test_data[Type.FIELD_TITLE_URL] = Str.get_title_url(my_title);
2214
2240
  if(option.data){
2215
2241
  test_data = Obj.merge(test_data,option.data);
2242
+ }
2243
+ if(option.title){
2244
+ data[Type.FIELD_TITLE] = option.title;
2245
+ data[Type.FIELD_TITLE_URL] = Str.get_title_url(option.title);
2246
+ }
2247
+ if(option.blank){
2248
+ test_data = get_blank_field(test_data);
2216
2249
  }
2217
2250
  items.push(test_data);
2218
2251
  }
2219
2252
  data = items;
2220
2253
  }
2254
+ if(option.sub_value_count>0){
2255
+ if(Obj.check_is_array(data)){
2256
+ for(let a = 0;a<data.length;a++){
2257
+ data[a].sub_values = [];
2258
+ for(let b = 1;b<option.sub_value_count+1;b++){
2259
+ let sub_title = 'title '+(parseInt(a)+1);
2260
+ let sub_value = '';
2261
+ if(!option.blank){
2262
+ sub_value = 'value '+Num.get_id();
2263
+ }
2264
+ data[a].sub_values.push(Data_Logic.get_sub_value(data[a].data_type,data[a].id,sub_title,{value:sub_value}));
2265
+ }
2266
+ }
2267
+ }else{
2268
+ data.sub_values = [];
2269
+ for(let b = 1;b<option.sub_value_count+1;b++){
2270
+ let title = '';
2271
+ let value = '';
2272
+ if(!option.blank){
2273
+ title = 'title '+Num.get_id();
2274
+ value = 'value '+Num.get_id();
2275
+ }
2276
+ data.sub_values.push(Data_Logic.get_sub_value(data.data_type,data.id,title,{value:value}));
2277
+ }
2278
+ }
2279
+ }
2221
2280
  return data;
2222
2281
  };
2223
2282
  static get_data_type_by_type = (data_type,option) =>{
package/notez ADDED
@@ -0,0 +1,17 @@
1
+ -------------------------------- BiZ9 START - 1-9-2026 -----------------------------------------------------------
2
+ -- Blank
3
+ ----------------------------------------------
4
+ --- blank
5
+ ---- blank_
6
+ ----------------------------------------------
7
+ -------------------------------- BiZ9 START - 1-24-2026 -----------------------------------------------------------
8
+ -- TO DO
9
+ ----------------------------------------------
10
+ --- Page Edit
11
+ ---- edit_linkz - done
12
+ ---- edit_linkz_text - open
13
+ ---- edit_linkz_image - open
14
+ ---- edit_linkz_list - open
15
+ ---- edit_linkz - open
16
+ ----------------------------------------------
17
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "biz9-logic",
3
- "version": "10.0.79",
3
+ "version": "10.0.83",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
package/test.js CHANGED
@@ -30,9 +30,28 @@ describe("connect", () => {
30
30
  it("_connect", () => {
31
31
  series([
32
32
  function(call) {
33
+ console.log('CONNECT-BASE-START');
34
+ // -- PAGE START -- //
35
+ // -->
36
+ // - SubValue
37
+ // -- parent_data_type
38
+ // -- parent_id
39
+ // -- title
40
+ // -- value
41
+ // -- title_url
42
+ //let page = Data_Logic.get(Type.DATA_PAGE,3,{blank:false,test:false,sub_value_count:1});
43
+ let page = Data_Logic.get(Type.DATA_PRODUCT,0,{blank:false,test:true,count:3,sub_value_count:1,title:'cool'});
44
+ //let page = Data_Logic.get(Type.DATA_PRODUCT,3,{blank:true,test:true,count:2});
45
+ //let sub_value = Data_Logic.get_sub_value(page.data_type,page.id,'new_title','my_value');
46
+ //Log.w('33_page',page);
47
+ //Log.w('33_page',page[0]);
48
+ //Log.w('44_page',page[0].sub_values);
49
+ // -- PAGE END -- //
50
+ // --
33
51
  console.log('CONNECT-BASE-START');
34
52
  // -->
35
53
  // -- CART START -- //
54
+ /*
36
55
  let user = Data_Logic.get(Type.USER,Num.get_id(),{test:true});
37
56
  let cart_product_1 = Data_Logic.get(Type.DATA_PRODUCT,Num.get_id(),{test:true});
38
57
  let cart_sub_item_product_1 = Data_Logic.get(Type.DATA_PRODUCT,Num.get_id(),{test:true});
@@ -51,10 +70,11 @@ describe("connect", () => {
51
70
  cart.cart_items.push(cart_item_1);
52
71
  cart = Cart_Logic.get_total(cart);
53
72
  // -- bind end //
73
+ */
54
74
  // -- CART END -- //
55
75
  // -- ORDER START -- //
56
76
  // -- order start //
57
- let order = Order_Logic.get(cart,{order_code:'OR'});
77
+ //let order = Order_Logic.get(cart,{order_code:'OR'});
58
78
  //Log.w('order',order);
59
79
  //Log.w('order_items',order.order_items[0]);
60
80
  // -- order end //
@@ -64,8 +84,8 @@ describe("connect", () => {
64
84
  // -- ORDER END -- //
65
85
 
66
86
  // -- LIST START -- //
67
- let data_type = Data_Logic.get_data_type_by_type(Type.DATA_PRODUCT,{plural:true});
68
- Log.w('my_data_type',data_type);
87
+ //let data_type = Data_Logic.get_data_type_by_type(Type.DATA_PRODUCT,{plural:true});
88
+ //Log.w('my_data_type',data_type);
69
89
 
70
90
  // -- LIST END -- //
71
91