intelliwaketssveltekitv25 0.3.59 → 0.3.61

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.
@@ -92,7 +92,7 @@ export type TUpDownArrowOptions = {
92
92
  * <input id='3_field_name' use:upDownArrows={{preID: 2, postID: 4}}>
93
93
  * <input id='4_field_name' use:upDownArrows={{preID: 3, postID: 1}}>
94
94
  */
95
- export declare function upDownArrows(el: HTMLElement, prePost?: TUpDownArrowOptions): {
95
+ export declare function upDownArrows(el: HTMLElement | HTMLInputElement, prePost?: TUpDownArrowOptions): {
96
96
  destroy(): void;
97
97
  };
98
98
  /**
package/dist/Functions.js CHANGED
@@ -37,7 +37,7 @@ export const IsMetaKey = (e) => e.ctrlKey ||
37
37
  export const CaptureGPS = (options) => {
38
38
  return new Promise((resolve) => {
39
39
  try {
40
- if (navigator.geolocation) {
40
+ if (browser && navigator.geolocation) {
41
41
  navigator.geolocation.getCurrentPosition((position) => {
42
42
  resolve(position);
43
43
  }, () => {
@@ -252,7 +252,7 @@ export function autoGrow(node, _value) {
252
252
  window.removeEventListener('blur', endPointer);
253
253
  window.removeEventListener('pointercancel', endPointer);
254
254
  ro.disconnect();
255
- },
255
+ }
256
256
  };
257
257
  }
258
258
  /**
@@ -13,6 +13,7 @@
13
13
  import { CookieCreate, CookieErase, CookieRead, DropDown, type IDDAction, PageAdvanceSize } from './index'
14
14
  import { page as pageState } from '$app/state'
15
15
  import { goto, invalidate as doInvalidate, invalidateAll } from '$app/navigation'
16
+ import { browser } from '$app/environment'
16
17
 
17
18
  let {
18
19
  page = $bindable(),
@@ -21,7 +22,7 @@
21
22
  updateQueryParams = false,
22
23
  cookieParms = false,
23
24
  cookieDays,
24
- invalidate = 'All',
25
+ invalidate,
25
26
  class: clazz = ''
26
27
  }: (Pick<IPaginatorResponse, 'page' | 'pageCount'> &
27
28
  {
@@ -43,6 +44,7 @@
43
44
  }
44
45
 
45
46
  let clientWidth = $state(0)
47
+ let lastPage = $state(page)
46
48
 
47
49
  function createDisplay(parm_page: number, parm_pageCount: number, parm_clientWidth: number): TDisplay {
48
50
  if (parm_pageCount <= 1) return {
@@ -56,7 +58,7 @@
56
58
 
57
59
  const buttonsFittable = CleanDivide(parm_clientWidth, buttonSize, 0)
58
60
 
59
- if (verbose) console.log(buttonsFittable, parm_clientWidth)
61
+ if (verbose) console.info(buttonsFittable, parm_clientWidth)
60
62
 
61
63
  // if (parm_pageCount <= 19 && buttonsFittable >= parm_pageCount) return {
62
64
  // page: usePage,
@@ -66,7 +68,7 @@
66
68
 
67
69
  if (parm_pageCount <= 19) {
68
70
  const spread = GreaterNumber(4, CleanDivide(buttonsFittable - 4, 2, 0))
69
- if (verbose) console.log('Spread', spread)
71
+ if (verbose) console.info('Spread', spread)
70
72
  const pagesForRange = PagesForRange(usePage, parm_pageCount, spread)
71
73
  if (pagesForRange.length <= buttonsFittable &&
72
74
  (!pagesForRange.some(pageForRange => !pageForRange) ||
@@ -102,12 +104,16 @@
102
104
  let cookieName = $derived(!cookieParms ? null : cookieParms === true ? 'page' : cookieParms)
103
105
 
104
106
  function performInvalidate() {
105
- for (const inv of ToArray(invalidate)) {
106
- if (inv) {
107
- if (inv === 'All') {
108
- invalidateAll()
109
- } else {
110
- doInvalidate(inv)
107
+ if (page !== lastPage) {
108
+ lastPage = page
109
+ for (const inv of ToArray(invalidate)) {
110
+ if (inv) {
111
+ if (verbose) console.info('Paginator Invalidation', inv)
112
+ if (inv === 'All') {
113
+ invalidateAll()
114
+ } else {
115
+ doInvalidate(inv)
116
+ }
111
117
  }
112
118
  }
113
119
  }
@@ -115,6 +121,7 @@
115
121
 
116
122
  $effect(() => {
117
123
  if (queryParamName || cookieName) {
124
+ if (verbose) console.info('Paginator query/cookie', queryParamName, cookieName)
118
125
  const currentValue = CleanNumberNull(cookieName ? CookieRead(cookieName) : queryParamName ? pageState.url.searchParams.get(queryParamName) : null)
119
126
  const gotoSettings: {
120
127
  replaceState?: boolean | undefined;
@@ -129,30 +136,43 @@
129
136
  if (currentValue) {
130
137
  if (queryParamName) {
131
138
  pageState.url.searchParams.delete(queryParamName)
139
+ if (verbose) console.info('Paginator goto url', pageState.url, gotoSettings)
132
140
  goto(pageState.url, gotoSettings)
133
141
  } else if (cookieName) {
142
+ if (verbose) console.info('Paginator Erase Cookie')
134
143
  CookieErase(cookieName)
135
144
  if (invalidate) {
145
+ if (verbose) console.info('Paginator calling invalidate')
136
146
  performInvalidate()
137
147
  } else {
138
- window.location.reload()
148
+ if (verbose) console.info('Paginator doing a reload')
149
+ if (browser) {
150
+ window.location.reload()
151
+ }
139
152
  }
140
153
  }
141
154
  }
142
155
  } else if (display.page !== currentValue) {
143
156
  if (queryParamName) {
144
157
  pageState.url.searchParams.set(queryParamName, display.page.toString())
158
+ if (verbose) console.info('Paginator goto url 2', pageState.url, gotoSettings)
145
159
  goto(pageState.url, gotoSettings)
146
160
  } else if (cookieName) {
161
+ if (verbose) console.info('Paginator Cookie Create', display.page.toString(), cookieDays)
147
162
  CookieCreate(cookieName, display.page.toString(), cookieDays)
148
163
  if (invalidate) {
164
+ if (verbose) console.info('Paginator calling invalidate 2')
149
165
  performInvalidate()
150
166
  } else {
151
- window.location.reload()
167
+ if (verbose) console.info('Paginator doing a reload 2')
168
+ if (browser) {
169
+ window.location.reload()
170
+ }
152
171
  }
153
172
  }
154
173
  }
155
174
  } else if (invalidate) {
175
+ if (verbose) console.info('Paginator calling invalidate 3', invalidate)
156
176
  performInvalidate()
157
177
  }
158
178
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelliwaketssveltekitv25",
3
- "version": "0.3.59",
3
+ "version": "0.3.61",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./dist/index.d.ts",