w-web-perm 1.0.26 → 1.0.28

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.
@@ -42,6 +42,7 @@ import replace from 'wsemi/src/replace.mjs'
42
42
  import timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'
43
43
  import convertToTree from 'wsemi/src/convertToTree.mjs'
44
44
  // import WUiDwload from 'w-ui-dwload/src/WUiDwload.mjs'
45
+ import keyLangs from './mLang.mjs'
45
46
 
46
47
 
47
48
  let vo = Vue.prototype
@@ -78,7 +79,7 @@ function updateUserSelf(userSelf) {
78
79
 
79
80
 
80
81
  function forceUpdate() {
81
- // console.log('call forceUpdate')
82
+ // console.log('forceUpdate')
82
83
 
83
84
  function broadcast(chs) {
84
85
  each(chs, (v) => {
@@ -96,16 +97,67 @@ function forceUpdate() {
96
97
  }
97
98
 
98
99
 
99
- function setLang(lang = null) {
100
- // console.log('call setLang')
100
+ function validLang(lang) {
101
+ if (lang !== 'eng' && lang !== 'cht') {
102
+ // console.log(`invalid lang[${lang}]`)
103
+ lang = 'eng'
104
+ }
105
+ return lang
106
+ }
107
+
101
108
 
102
- //check lang, 若有輸入才commit
103
- if (isestr(lang)) {
104
- vo.$store.commit(vo.$store.types.UpdateLang, lang)
109
+ function getLang() {
110
+ let lang = ''
111
+
112
+ //from window
113
+ if (!isestr(lang)) {
114
+ let _lang = get(window, '___pmwperm___.language', '')
115
+ // console.log('_lang(from window)', _lang)
116
+ if (isestr(_lang)) {
117
+ lang = validLang(_lang) //有可能取到未取代前模板符號
118
+ }
105
119
  }
106
120
 
107
- //getKpLang, 切換lang得調用getKpLang重算kpText
108
- getKpLang()
121
+ //from store
122
+ if (!isestr(lang)) {
123
+ let _lang = get(vo, '$store.state.lang', '')
124
+ // console.log('_lang(from store)', _lang)
125
+ if (isestr(_lang)) {
126
+ lang = validLang(_lang) //有可能給予非預期lang
127
+ }
128
+ }
129
+
130
+ //return
131
+ if (!isestr(lang)) {
132
+ return 'eng'
133
+ }
134
+ return lang
135
+ }
136
+
137
+
138
+ function setLang(lang = null, from = '') {
139
+ // console.log('setLang', lang, from)
140
+
141
+ //check
142
+ if (!isestr(lang)) {
143
+ lang = getLang()
144
+ }
145
+ else {
146
+ lang = validLang(lang)
147
+ }
148
+ // console.log('get lang', lang)
149
+
150
+ //check, 若有變更才commit
151
+ if (true) {
152
+ let _lang = get(vo, '$store.state.lang')
153
+ if (lang !== _lang) {
154
+ vo.$store.commit(vo.$store.types.UpdateLang, lang)
155
+ // console.log('commit lang', lang)
156
+ }
157
+ }
158
+
159
+ //genKpText, 切換lang得調用getKpLang重算kpText
160
+ genKpText(lang)
109
161
 
110
162
  //forceUpdate
111
163
  forceUpdate()
@@ -113,13 +165,12 @@ function setLang(lang = null) {
113
165
  }
114
166
 
115
167
 
116
- function getKpLang() {
117
- // console.log('call getKpLang')
168
+ function genKpText(lang) {
169
+ // console.log('genKpText', lang)
118
170
 
119
171
  //merge keyLangs
120
- let keyLangs = get(vo, '$store.state.keyLangs')
121
- let webName = get(vo, '$store.state.webInfor.webName')
122
- let webDescription = get(vo, '$store.state.webInfor.webDescription')
172
+ let webName = get(vo, '$store.state.webInfor.webName', '')
173
+ let webDescription = get(vo, '$store.state.webInfor.webDescription', '')
123
174
  let kls = {
124
175
  ...keyLangs,
125
176
  webName: {
@@ -130,10 +181,7 @@ function getKpLang() {
130
181
  },
131
182
  }
132
183
 
133
- //lang
134
- let lang = get(vo, '$store.state.lang')
135
-
136
- //kpText
184
+ //update
137
185
  let kpText = {}
138
186
  each(kls, (v, k) => {
139
187
  kpText[k] = v[lang]
@@ -141,18 +189,24 @@ function getKpLang() {
141
189
 
142
190
  //commit
143
191
  vo.$store.commit(vo.$store.types.UpdateKpText, kpText)
192
+ // console.log('commit kpText', kpText)
144
193
 
145
- return kpText
146
194
  }
147
195
 
148
196
 
149
197
  function getKpText(key) {
150
- // console.log('call getKpText')
198
+ // console.log('getKpText', key)
199
+
200
+ //kpText
151
201
  let kpText = get(vo, '$store.state.kpText')
202
+ // console.log('kpText', cloneDeep(kpText))
203
+
204
+ //t
152
205
  let t = get(kpText, key, '')
153
206
  if (!isestr(t)) {
154
207
  t = key
155
208
  }
209
+
156
210
  return t
157
211
  }
158
212
 
@@ -231,7 +285,6 @@ let mUI = {
231
285
  forceUpdate,
232
286
 
233
287
  setLang,
234
- getKpLang,
235
288
  getKpText,
236
289
 
237
290
  gv,