UNPKG

@qww0302/use-bitable

Version:

The vue-based PluginBuilder of Bitable.

2 lines (1 loc) 7.01 kB
(function(f,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@lark-base-open/js-sdk")):typeof define=="function"&&define.amd?define(["exports","vue","@lark-base-open/js-sdk"],t):(f=typeof globalThis<"u"?globalThis:f||self,t(f.useBitable={},f.Vue,f.bitable))})(this,function(f,t,s){"use strict";function d(a){return t.getCurrentScope()?(t.onScopeDispose(a),!0):!1}function m(a,e=!0){const r=t.getCurrentInstance();r?t.onMounted(a,r):e?a():t.nextTick(a)}function y(a={}){const e=t.ref(s.ThemeModeType.LIGHT),{onChanged:r}=a;return T(l=>{e.value=l,r&&r(l)}),m(()=>{s.bitable.bridge.getTheme().then(l=>{e.value=l})}),t.computed(()=>e.value)}function h(a){const e=s.bitable.base.onSelectionChange(r=>{a(r.data)});return d(e),e}function w(a={}){const e=t.ref(null),r=t.ref(null),l=t.ref(null),i=t.ref(null),n=t.ref(null),{onChanged:o}=a;return s.bitable.base.getSelection().then(u=>{e.value=u.baseId,r.value=u.recordId,l.value=u.fieldId,i.value=u.viewId,n.value=u.tableId}),h(u=>{e.value=u.baseId,r.value=u.recordId,l.value=u.fieldId,i.value=u.viewId,n.value=u.tableId,o&&o(u)}),{baseId:e,recordId:r,fieldId:l,viewId:i,tableId:n}}function I(a,e,r){const{serializer:l,shallow:i=!1}=r??{},n=(i?t.shallowRef:t.ref)(e),o=t.ref(!1),{read:u,write:c}=l??{read:b=>b,write:b=>b},g=async()=>{o.value=!0,s.bitable.bridge.setData(t.toValue(a),c(t.toValue(n))).then(()=>{o.value=!1})};return t.watch(()=>t.toValue(n),()=>{g()},{deep:!0}),m(()=>{o.value=!0,s.bitable.bridge.getData(t.toValue(a)).then(b=>{n.value=u(b),o.value=!1})}),{data:n,pending:o}}async function R(a,e={}){if(!a)return null;const{onProgress:r,onError:l,load:i}=e,n=new FileReader;return new Promise(o=>{n.onload=u=>{if(!u.target)return null;i?i(u.target.result,o):o(u.target.result)},n.onprogress=r??null,n.onerror=l??null,n.readAsArrayBuffer(a)})}function V(a,e={}){const{shallow:r=!1}=e,l=r?t.ref():t.shallowRef(),i=t.ref(!1),n=t.ref("");function o(u){if(!u){l.value=null,n.value="",i.value=!1;return}i.value=!0,R(u,e).then(c=>{l.value=c,n.value=u.name,i.value=!1}).catch(c=>{console.error(c),i.value=!1})}return t.watch(()=>t.toValue(a),u=>{o(u)},{immediate:!0,deep:!0}),{data:l,pending:i,name:n}}function D(a,e,r,l,i){const n=t.ref(""),{params:o,override:u}=i??{};return t.watch([()=>t.toValue(a),()=>t.toValue(e),()=>t.toValue(r),()=>t.toValue(l)],c=>{if(!c[0]&&!c[1]){n.value="";return}s.bitable.bridge.getBitableUrl({tableId:c[0],viewId:c[1],fieldId:c[2]??null,recordId:c[3]??null}).then(g=>{n.value=p(g,u,typeof o=="function"?o():o)})},{immediate:!0}),n}function p(a,e=!1,r){const l=new URL(a);return r&&Object.entries(r).forEach(([i,n])=>{if(l.searchParams.has(i)){e&&l.searchParams.set(i,n);return}l.searchParams.append(i,n)}),l.toString()}function v(){const a=t.ref(null);return s.bitable.bridge.getEnv().then(e=>{a.value=e.product}).catch(e=>{console.error("[useBitable] useEnv Error: ",e)}),a}function F(){const a=t.ref(null);return t.onMounted(()=>{s.bitable.bridge.getPersonalBaseToken().then(e=>{a.value=e})}),a}function B(a={}){const e=t.ref([]),{max:r=1/0}=a;return h(l=>{e.value.push({select:l,time:Date.now()}),e.value.length>r&&e.value.shift()}),e}function E(a){const e=t.shallowRef(null),r=t.ref(!1);return t.watch(()=>t.toValue(a),l=>{l&&(r.value=!0,s.bitable.base.getTable(l).then(i=>{e.value=i,r.value=!1}))},{immediate:!0}),{table:e,pending:r}}function M(a,e){const r=t.shallowRef(null),l=t.ref(!1),i=(o,u)=>{!o||!u||(l.value=!0,o.getViewById(u).then(c=>{r.value=c,l.value=!1}).catch(c=>{console.error("[useView] useView Error: ",c),r.value=null,l.value=!1}))},n=t.watchEffect(()=>{const o=t.toValue(e),u=t.toValue(a);!o||!u||(typeof u=="string"?(l.value=!0,s.bitable.base.getTable(u).then(c=>{i(c,o)}).catch(c=>{console.error("[useView] useView Error: ",c),r.value=null,l.value=!1})):i(u,o))});return d(n),{view:r,pending:l}}function A(){const a=t.ref(null);return s.bitable.bridge.getUserId().then(e=>{a.value=e}).catch(e=>{console.error("[useBitable] useUserId Error: ",e)}),a}function C(){const a=t.ref(null);return s.bitable.bridge.getTenantKey().then(e=>{a.value=e}).catch(e=>{console.error("[useBitable] useTenantKey Error: ",e)}),a}function T(a){const e=s.bitable.bridge.onThemeChange(r=>{a(r.data.theme)});return d(e),e}function P(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onFieldAdd(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onFieldAdd error:",o)})):r=n.onFieldAdd(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function U(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onFieldModify(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onFieldModify error:",o)})):r=n.onFieldModify(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function K(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onFieldDelete(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onFieldDelete error:",o)})):r=n.onFieldDelete(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function O(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onRecordAdd(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onRecordAdd error:",o)})):r=n.onRecordAdd(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function H(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onRecordModify(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onRecordModify error:",o)})):r=n.onRecordModify(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function q(a,e){let r=()=>{};const l=t.ref(!1);function i(n){n&&(typeof n=="string"?(l.value=!0,s.bitable.base.getTable(n).then(o=>{o.onRecordDelete(e),l.value=!1}).catch(o=>{l.value=!1,console.error("[useBitable] onRecordDelete error:",o)})):r=n.onRecordDelete(e))}return t.watch(()=>t.toValue(a),(n,o)=>{n!==o&&(r(),i(n))},{immediate:!0}),d(r),{off:()=>{r()},pending:l}}function L(a){const e=s.bitable.base.onTableAdd(a);return d(e),e}function z(a){const e=s.bitable.base.onTableDelete(a);return d(e),e}f.onFieldAdd=P,f.onFieldDelete=K,f.onFieldModify=U,f.onRecordAdd=O,f.onRecordDelete=q,f.onRecordModify=H,f.onSelectionChange=h,f.onTableAdd=L,f.onTableDelete=z,f.onThemeChange=T,f.useBitableUrl=D,f.useData=I,f.useEnv=v,f.useFileReader=V,f.usePersonalBaseToken=F,f.useSelectHistory=B,f.useSelection=w,f.useTable=E,f.useTenantKey=C,f.useTheme=y,f.useUserId=A,f.useView=M,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});