UNPKG

5.32 kBJavaScriptView Raw
1import{useState,useEffect}from"react";function _typeof(a){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _iterableToArrayLimit(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var dataUpdateEvents=["onFieldChanged","onRecordCreated","onRecordDeleted","onRecordRefreshed","onAfterSave","onCancelEdit","onDataLoaded"];function useCurrentRow(a){function b(){f(a.currentRow())}var c=useState({}),d=_slicedToArray(c,2),e=d[0],f=d[1];return useEffect(function(){var c=["onCurrentIndexChanged"].concat(dataUpdateEvents);return c.forEach(function(c){return a.attachEvent(c,b)}),b(),function(){return c.forEach(function(c){return a.detachEvent(c,b)})}},[a]),e}function useData(a){function b(){f(a.getData())}var c=useState([]),d=_slicedToArray(c,2),e=d[0],f=d[1];return useEffect(function(){return dataUpdateEvents.forEach(function(c){return a.attachEvent(c,b)}),b(),function(){return dataUpdateEvents.forEach(function(c){return a.detachEvent(c,b)})}},[a]),e}function getData(a,b){var c=window.af.data,d=new c.DataProviderHandler({dataSourceId:a.getDataSourceId(),timeout:3e4}),e=a.getFields();return new Promise(function(a,c){var f={filterString:"",whereClause:"string"==typeof b?b:"",whereObject:"object"===_typeof(b)?b:null};d.retrieve(f,function(b,d){if(null!==b)c(b);else{var f=[],g=!0,h=!1,j=void 0;try{for(var k,l=d[Symbol.iterator]();!(g=(k=l.next()).done);g=!0){for(var m=k.value,n={},o=0;o<m.length;o++)n[e[o].name]=m[o];f.push(n)}}catch(a){h=!0,j=a}finally{try{g||null==l.return||l.return()}finally{if(h)throw j}}a(f)}})})}function useSingleRecord(a,b){return console.warn("DEPRECATED: useSingleRecord has been renamed to useRecord"),useFetchRecord(a,b)}function useDataWithoutState(a,b){return console.warn("DEPRECATED: useDataWithoutState has been renamed to useRecord"),useFetchData(a,b)}function useFetchRecord(a,b){var c=useFetchData(a,b),d=c.isLoading,e=c.data,f=c.refresh,g=0<e.length?e[0]:{};return{record:g,refresh:f,isLoading:d}}function useFetchData(a,b){function c(){k(!0),getData(a,b).then(function(a){0<a.length?g(a):g([]),k(!1)})}var d=useState([]),e=_slicedToArray(d,2),f=e[0],g=e[1],h=useState(!0),i=_slicedToArray(h,2),j=i[0],k=i[1];return useEffect(function(){c()},[a,b]),{data:f,refresh:c,isLoading:j}}function useCurrentIndex(a){var b=useState(a.getCurrentIndex()),c=_slicedToArray(b,2),d=c[0],e=c[1];return useEffect(function(){return a.attachEvent("onCurrentIndexChanged",e),e(a.getCurrentIndex()),function(){return a.detachEvent("onCurrentIndexChanged",e)}},[a]),d}function useDirty(a){var b=useState(!1),c=_slicedToArray(b,2),d=c[0],e=c[1];return useEffect(function(){return a.attachEvent("onDirtyChanged",e),e(a.isDirty()),function(){a.detachEvent("onDirtyChanged",e)}},[a]),d}function useError(a){var b=useState(null),c=_slicedToArray(b,2),d=c[0],e=c[1];return useEffect(function(){return a.attachEvent("onDataLoadFailed",e),function(){a.detachEvent("onDataLoadFailed",e)}},[a]),d}function useLoading(a){function b(){g(!0)}function c(){g(!1)}var d=useState(a.isDataLoading()),e=_slicedToArray(d,2),f=e[0],g=e[1];return useEffect(function(){return a.attachEvent("onBeforeLoad",b),a.attachEvent("onDataLoaded",c),a.attachEvent("onDataLoadFailed",c),g(a.isDataLoading()),function(){a.detachEvent("onBeforeLoad",b),a.detachEvent("onDataLoaded",c),a.detachEvent("onDataLoadFailed",c)}},[a]),f}function useStatus(a){function b(){i(!0)}function c(){i(!1)}function d(){m(!0)}function e(){m(!1)}var f=useState(!1),g=_slicedToArray(f,2),h=g[0],i=g[1],j=useState(!1),k=_slicedToArray(j,2),l=k[0],m=k[1];return useEffect(function(){return a.attachEvent("onBeforeSave",b),a.attachEvent("onAfterSave",c),a.attachEvent("onSaveFailed",c),a.attachEvent("onRecordDeleting",d),a.attachEvent("onRecordDeleted",e),function(){a.detachEvent("onBeforeSave",b),a.detachEvent("onAfterSave",c),a.detachEvent("onSaveFailed",c),a.detachEvent("onRecordDeleting",d),a.detachEvent("onRecordDeleted",e)}},[a]),{isDeleting:l,isSaving:h}}function usePermissions(a){var b=useState(a.isDeleteAllowed()),c=_slicedToArray(b,2),d=c[0],e=c[1],f=useState(a.isInsertAllowed()),g=_slicedToArray(f,2),h=g[0],i=g[1],j=useState(a.isUpdateAllowed()),k=_slicedToArray(j,2),l=k[0],m=k[1];return useEffect(function(){return a.attachEvent("onAllowDeleteChanged",e),a.attachEvent("onAllowInsertChanged",i),a.attachEvent("onAllowUpdateChanged",m),function(){a.detachEvent("onAllowDeleteChanged",e),a.detachEvent("onAllowInsertChanged",i),a.detachEvent("onAllowUpdateChanged",m)}},[a]),{allowDelete:d,allowInsert:h,allowUpdate:l}}export{useCurrentIndex,useDirty,useError,useLoading,useStatus,usePermissions,useCurrentRow,useData,useSingleRecord,useDataWithoutState,useFetchData,useFetchRecord,getData};