@mgarlik/datastore 0.1.25 → 0.1.27

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.
package/dist/index.d.cts CHANGED
@@ -4,11 +4,28 @@ import { D as DataStoreStorage } from './storage-D_xv8gFb.cjs';
4
4
 
5
5
  type formTypes = "textInput" | "select" | "switch" | "dateTime" | "radio";
6
6
 
7
+ type RemoteUpdateMode =
8
+ | "ignore" // ignorovat změny z databáze
9
+ | "auto" // automaticky aktualizovat pole
10
+ | "notify" // pouze upozornit uživatele (bez přepsání)
11
+ | "confirm" // zeptat se uživatele před přepsáním
12
+
13
+ /**
14
+ * Režim odesílání formuláře, který určuje, kdy se data odešlou. Může být nastaven na "submit" (výchozí), "onBlur", "onChange", "onValid" nebo na objekt s režimem "debounce" a volitelným zpožděním v milisekundách. Tento režim umožňuje přizpůsobit chování odesílání formuláře podle potřeb aplikace a uživatelských preferencí.
15
+ */
16
+ type SubmitMode =
17
+ | "onSubmit"
18
+ | "onBlur"
19
+ | "onChange"
20
+ | "onValid"
21
+ | { mode: "debounce"; delay?: number };
22
+
23
+
7
24
  type textInputProps = {
8
25
  placeholder?: string;
9
26
  multiline?: boolean;
10
27
  numberOfLines?: number;
11
- secure: boolean;
28
+ secure?: boolean;
12
29
  };
13
30
 
14
31
  type switchProps = {
@@ -120,6 +137,19 @@ type ProviderLayoutType = {
120
137
  title?: string;
121
138
  variant?: "grouped" | "insetGrouped" | "plain";
122
139
  tooltip?: string | React.ReactNode;
140
+ /**
141
+ * Režim odesílání formuláře, který určuje, kdy se data odešlou. Může být nastaven na "submit" (výchozí), "onBlur", "onChange", "onValid" nebo na objekt s režimem "debounce" a volitelným zpožděním v milisekundách. Tento režim umožňuje přizpůsobit chování odesílání formuláře podle potřeb aplikace a uživatelských preferencí.
142
+ *
143
+ * @type "submit" | "onBlur" | "onChange" | "onValid" | { mode: "debounce"; delay?: number }
144
+ *
145
+ * - "submit": Odeslat pouze při stisknutí tlačítka submit. Toto je výchozí chování, které zajišťuje, že data se odešlou pouze tehdy, když uživatel explicitně dokončí úpravy a potvrdí je. Tlacitko submit může být povoleno pouze v případě, že formulář je validní a obsahuje změny (dirty). Toto nastavení minimalizuje riziko nechtěného odeslání dat a poskytuje uživateli jasnou kontrolu nad tím, kdy se data odešlou.
146
+ * - "onBlur": Odeslat po opuštění pole (onBlur). Data se odešlou, když uživatel opustí pole, což může být užitečné pro rychlé ukládání změn bez nutnosti explicitního potvrzení. Toto nastavení umožňuje průběžné ukládání dat, ale může vést k častějším odesláním, zejména pokud uživatel často přepíná mezi poli.
147
+ * - "onChange": Odeslat při jakékoliv změně (onChange). Data se odešlou okamžitě po každé změně hodnoty v poli. Toto nastavení poskytuje nejrychlejší zpětnou vazbu a zajišťuje, že data jsou vždy aktuální, ale může způsobit nadměrné odesílání dat, zejména u polí s častými změnami (např. textová pole).
148
+ * - "onValid": Odeslat jakmile je formulář validní (bez ohledu na blur/change). Data se odešlou, jakmile celý formulář splní validační pravidla, bez ohledu na to, zda uživatel opustil pole nebo provedl změnu. Toto nastavení zajišťuje, že data se odešlou pouze tehdy, když jsou platná, ale může být méně předvídatelné pro uživatele, protože odesílání není vázáno na konkrétní akci.
149
+ * - { mode: "debounce"; delay?: number }: Odeslat při změně s zpožděním (debounce). Data se odešlou po určitém zpoždění od poslední změny, což pomáhá snížit počet odesílání u polí s častými změnami. Toto nastavení je užitečné pro optimalizaci výkonu a minimalizaci zbytečných odesílání, zejména u textových polí, kde uživatel může rychle zadávat data.
150
+ */
151
+ submitMode?: SubmitMode;
152
+ remoteUpdateMode?: RemoteUpdateMode;
123
153
  sections?: {
124
154
  id?: string;
125
155
  title?: string;
@@ -129,14 +159,20 @@ type ProviderLayoutType = {
129
159
  visible?: boolean | filterType;
130
160
  items: Array<string | {
131
161
  field: string;
132
- form?: formType;
162
+ form?: formType | { type: FormTypes; props?: any };
133
163
  label?: string; // jen override
164
+ editable?: boolean;
134
165
  visible?: boolean | filterType;
135
166
  tooltip?: string | React.ReactNode;
167
+ /**
168
+ * Přepíše submitMode formuláře pro toto konkrétní pole.
169
+ * Pokud není uvedeno, použije se submitMode formuláře.
170
+ */
171
+ submitMode?: SubmitMode;
172
+ render?: (params: { item: any; onChange: (value: any) => void; value: any; editorState: FormStateType }) => React.ReactNode;
136
173
  }>;
137
174
  }[];
138
175
  };
139
- type ProviderLayoutsType = { [key: string]: ProviderLayoutType };
140
176
 
141
177
  type BasicProviderSchemaItemType = {
142
178
  /**
package/dist/index.d.ts CHANGED
@@ -4,11 +4,28 @@ import { D as DataStoreStorage } from './storage-D_xv8gFb.js';
4
4
 
5
5
  type formTypes = "textInput" | "select" | "switch" | "dateTime" | "radio";
6
6
 
7
+ type RemoteUpdateMode =
8
+ | "ignore" // ignorovat změny z databáze
9
+ | "auto" // automaticky aktualizovat pole
10
+ | "notify" // pouze upozornit uživatele (bez přepsání)
11
+ | "confirm" // zeptat se uživatele před přepsáním
12
+
13
+ /**
14
+ * Režim odesílání formuláře, který určuje, kdy se data odešlou. Může být nastaven na "submit" (výchozí), "onBlur", "onChange", "onValid" nebo na objekt s režimem "debounce" a volitelným zpožděním v milisekundách. Tento režim umožňuje přizpůsobit chování odesílání formuláře podle potřeb aplikace a uživatelských preferencí.
15
+ */
16
+ type SubmitMode =
17
+ | "onSubmit"
18
+ | "onBlur"
19
+ | "onChange"
20
+ | "onValid"
21
+ | { mode: "debounce"; delay?: number };
22
+
23
+
7
24
  type textInputProps = {
8
25
  placeholder?: string;
9
26
  multiline?: boolean;
10
27
  numberOfLines?: number;
11
- secure: boolean;
28
+ secure?: boolean;
12
29
  };
13
30
 
14
31
  type switchProps = {
@@ -120,6 +137,19 @@ type ProviderLayoutType = {
120
137
  title?: string;
121
138
  variant?: "grouped" | "insetGrouped" | "plain";
122
139
  tooltip?: string | React.ReactNode;
140
+ /**
141
+ * Režim odesílání formuláře, který určuje, kdy se data odešlou. Může být nastaven na "submit" (výchozí), "onBlur", "onChange", "onValid" nebo na objekt s režimem "debounce" a volitelným zpožděním v milisekundách. Tento režim umožňuje přizpůsobit chování odesílání formuláře podle potřeb aplikace a uživatelských preferencí.
142
+ *
143
+ * @type "submit" | "onBlur" | "onChange" | "onValid" | { mode: "debounce"; delay?: number }
144
+ *
145
+ * - "submit": Odeslat pouze při stisknutí tlačítka submit. Toto je výchozí chování, které zajišťuje, že data se odešlou pouze tehdy, když uživatel explicitně dokončí úpravy a potvrdí je. Tlacitko submit může být povoleno pouze v případě, že formulář je validní a obsahuje změny (dirty). Toto nastavení minimalizuje riziko nechtěného odeslání dat a poskytuje uživateli jasnou kontrolu nad tím, kdy se data odešlou.
146
+ * - "onBlur": Odeslat po opuštění pole (onBlur). Data se odešlou, když uživatel opustí pole, což může být užitečné pro rychlé ukládání změn bez nutnosti explicitního potvrzení. Toto nastavení umožňuje průběžné ukládání dat, ale může vést k častějším odesláním, zejména pokud uživatel často přepíná mezi poli.
147
+ * - "onChange": Odeslat při jakékoliv změně (onChange). Data se odešlou okamžitě po každé změně hodnoty v poli. Toto nastavení poskytuje nejrychlejší zpětnou vazbu a zajišťuje, že data jsou vždy aktuální, ale může způsobit nadměrné odesílání dat, zejména u polí s častými změnami (např. textová pole).
148
+ * - "onValid": Odeslat jakmile je formulář validní (bez ohledu na blur/change). Data se odešlou, jakmile celý formulář splní validační pravidla, bez ohledu na to, zda uživatel opustil pole nebo provedl změnu. Toto nastavení zajišťuje, že data se odešlou pouze tehdy, když jsou platná, ale může být méně předvídatelné pro uživatele, protože odesílání není vázáno na konkrétní akci.
149
+ * - { mode: "debounce"; delay?: number }: Odeslat při změně s zpožděním (debounce). Data se odešlou po určitém zpoždění od poslední změny, což pomáhá snížit počet odesílání u polí s častými změnami. Toto nastavení je užitečné pro optimalizaci výkonu a minimalizaci zbytečných odesílání, zejména u textových polí, kde uživatel může rychle zadávat data.
150
+ */
151
+ submitMode?: SubmitMode;
152
+ remoteUpdateMode?: RemoteUpdateMode;
123
153
  sections?: {
124
154
  id?: string;
125
155
  title?: string;
@@ -129,14 +159,20 @@ type ProviderLayoutType = {
129
159
  visible?: boolean | filterType;
130
160
  items: Array<string | {
131
161
  field: string;
132
- form?: formType;
162
+ form?: formType | { type: FormTypes; props?: any };
133
163
  label?: string; // jen override
164
+ editable?: boolean;
134
165
  visible?: boolean | filterType;
135
166
  tooltip?: string | React.ReactNode;
167
+ /**
168
+ * Přepíše submitMode formuláře pro toto konkrétní pole.
169
+ * Pokud není uvedeno, použije se submitMode formuláře.
170
+ */
171
+ submitMode?: SubmitMode;
172
+ render?: (params: { item: any; onChange: (value: any) => void; value: any; editorState: FormStateType }) => React.ReactNode;
136
173
  }>;
137
174
  }[];
138
175
  };
139
- type ProviderLayoutsType = { [key: string]: ProviderLayoutType };
140
176
 
141
177
  type BasicProviderSchemaItemType = {
142
178
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mgarlik/datastore",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "description": "Full DataStoreProvider package extracted from src/dataStore with REST and Socket support.",
5
5
  "license": "MIT",
6
6
  "type": "module",