dtable-utils 4.2.2 → 4.2.3-beta.1

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.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/typeof"),t=require("@babel/runtime/helpers/classCallCheck"),a=require("@babel/runtime/helpers/createClass"),n=require("dayjs"),o=require("@babel/runtime/helpers/toConsumableArray"),i=require("deep-copy");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s,l,c,_,f,E,O,d,T,A,p,y,m=u(e),R=u(r),L=u(t),M=u(a),N=u(n),D=u(o),C=u(i),I={DEFAULT:"default",NUMBER:"number",TEXT:"text",CHECKBOX:"checkbox",DATE:"date",SINGLE_SELECT:"single-select",LONG_TEXT:"long-text",IMAGE:"image",FILE:"file",MULTIPLE_SELECT:"multiple-select",COLLABORATOR:"collaborator",LINK:"link",FORMULA:"formula",LINK_FORMULA:"link-formula",CREATOR:"creator",CTIME:"ctime",LAST_MODIFIER:"last-modifier",MTIME:"mtime",GEOLOCATION:"geolocation",AUTO_NUMBER:"auto-number",URL:"url",EMAIL:"email",DURATION:"duration",BUTTON:"button",RATE:"rate",DIGITAL_SIGN:"digital-sign",DEPARTMENT_SINGLE_SELECT:"department_single_select",BOOL:"bool",STRING:"string"},F=(s={},m.default(s,I.DEFAULT,"dtable-font dtable-icon-single-line-text"),m.default(s,I.TEXT,"dtable-font dtable-icon-single-line-text"),m.default(s,I.NUMBER,"dtable-font dtable-icon-number"),m.default(s,I.CHECKBOX,"dtable-font dtable-icon-check-square-solid"),m.default(s,I.DATE,"dtable-font dtable-icon-calendar-alt-solid"),m.default(s,I.SINGLE_SELECT,"dtable-font dtable-icon-single-election"),m.default(s,I.LONG_TEXT,"dtable-font dtable-icon-long-text"),m.default(s,I.IMAGE,"dtable-font dtable-icon-picture"),m.default(s,I.FILE,"dtable-font dtable-icon-file-alt-solid"),m.default(s,I.MULTIPLE_SELECT,"dtable-font dtable-icon-multiple-selection"),m.default(s,I.COLLABORATOR,"dtable-font dtable-icon-collaborator"),m.default(s,I.LINK,"dtable-font dtable-icon-link-other-record"),m.default(s,I.FORMULA,"dtable-font dtable-icon-formula"),m.default(s,I.LINK_FORMULA,"dtable-font dtable-icon-link-formulas"),m.default(s,I.CREATOR,"dtable-font dtable-icon-creator"),m.default(s,I.CTIME,"dtable-font dtable-icon-creation-time"),m.default(s,I.LAST_MODIFIER,"dtable-font dtable-icon-creator"),m.default(s,I.MTIME,"dtable-font dtable-icon-creation-time"),m.default(s,I.GEOLOCATION,"dtable-font dtable-icon-location"),m.default(s,I.AUTO_NUMBER,"dtable-font dtable-icon-autonumber"),m.default(s,I.URL,"dtable-font dtable-icon-url"),m.default(s,I.EMAIL,"dtable-font dtable-icon-email"),m.default(s,I.DURATION,"dtable-font dtable-icon-duration"),m.default(s,I.BUTTON,"dtable-font dtable-icon-button"),m.default(s,I.RATE,"dtable-font dtable-icon-rate"),m.default(s,I.DIGITAL_SIGN,"dtable-font dtable-icon-handwritten-signature"),m.default(s,I.DEPARTMENT_SINGLE_SELECT,"dtable-font dtable-icon-department-single-selection"),s),v=[{iconName:"Basic",iconClass:"",isDisabled:!0},{iconName:"Text",iconClass:F[I.TEXT],type:I.TEXT},{iconName:"Long_Text",iconClass:F[I.LONG_TEXT],type:I.LONG_TEXT},{iconName:"Number",iconClass:F[I.NUMBER],type:I.NUMBER},{iconName:"Collaborator",iconClass:F[I.COLLABORATOR],type:I.COLLABORATOR},{iconName:"Date",iconClass:F[I.DATE],type:I.DATE},{iconName:"Duration",iconClass:F[I.DURATION],type:I.DURATION},{iconName:"Single_Select",iconClass:F[I.SINGLE_SELECT],type:I.SINGLE_SELECT},{iconName:"Multiple_Select",iconClass:F[I.MULTIPLE_SELECT],type:I.MULTIPLE_SELECT},{iconName:"Image",iconClass:F[I.IMAGE],type:I.IMAGE},{iconName:"File",iconClass:F[I.FILE],type:I.FILE},{iconName:"Email",iconClass:F[I.EMAIL],type:I.EMAIL},{iconName:"URL",iconClass:F[I.URL],type:I.URL},{iconName:"Checkbox",iconClass:F[I.CHECKBOX],type:I.CHECKBOX},{iconName:"Rating",iconClass:F[I.RATE],type:I.RATE},{iconName:"Advanced",iconClass:"",isDisabled:!0},{iconName:"Formula",iconClass:F[I.FORMULA],type:I.FORMULA},{iconName:"Link_formula",iconClass:F[I.LINK_FORMULA],type:I.LINK_FORMULA},{iconName:"Geolocation",iconClass:F[I.GEOLOCATION],type:I.GEOLOCATION},{iconName:"Link_to_other_records",iconClass:F[I.LINK],type:I.LINK},{iconName:"Creator",iconClass:F[I.CREATOR],type:I.CREATOR},{iconName:"CTime",iconClass:F[I.CTIME],type:I.CTIME},{iconName:"Last_Modifier",iconClass:F[I.LAST_MODIFIER],type:I.LAST_MODIFIER},{iconName:"Last_Modified_Time",iconClass:F[I.MTIME],type:I.MTIME},{iconName:"Auto_number",iconClass:F[I.AUTO_NUMBER],type:I.AUTO_NUMBER},{iconName:"Button",iconClass:F[I.BUTTON],type:I.BUTTON},{iconName:"Digital_signature",iconClass:F[I.DIGITAL_SIGN],type:I.DIGITAL_SIGN},{iconName:"Department_single_select",iconClass:F[I.DEPARTMENT_SINGLE_SELECT],type:I.DEPARTMENT_SINGLE_SELECT}],g=[I.DATE,I.CTIME,I.MTIME],S=[I.NUMBER,I.DURATION,I.RATE],h=[I.COLLABORATOR,I.CREATOR,I.LAST_MODIFIER],b="YYYY-MM-DD",Y={YEAR:"year",MONTH:"month",WEEK:"week",DAY:"day",HOUR:"hour",HOURS:"hours",MINUTE:"minute",MINUTES:"minutes",SECOND:"second"},U={YYYY_MM_DD:"YYYY-MM-DD",YYYY_MM_DD_HH_MM:"YYYY-MM-DD HH:mm",YYYY_MM_DD_HH_MM_SS:"YYYY-MM-DD HH:mm:ss"},P={H_MM:"h:mm",H_MM_SS:"h:mm:ss",H_MM_SS_S:"h:mm:ss.s",H_MM_SS_SS:"h:mm:ss.ss",H_MM_SS_SSS:"h:mm:ss.sss"},B=[{name:P.H_MM,type:P.H_MM},{name:P.H_MM_SS,type:P.H_MM_SS}],x=(l={},m.default(l,P.H_MM,0),m.default(l,P.H_MM_SS,0),m.default(l,P.H_MM_SS_S,1),m.default(l,P.H_MM_SS_SS,2),m.default(l,P.H_MM_SS_SSS,3),l),w=(c={},m.default(c,P.H_MM,"0:00"),m.default(c,P.H_MM_SS,"0:00"),m.default(c,P.H_MM_SS_S,"0:00.0"),m.default(c,P.H_MM_SS_SS,"0:00.00"),m.default(c,P.H_MM_SS_SSS,"0:00.000"),c),H="number",k=[I.TEXT,I.NUMBER,I.SINGLE_SELECT,I.RATE,I.CHECKBOX,I.LONG_TEXT,I.DATE,I.COLLABORATOR,I.DEPARTMENT_SINGLE_SELECT],G=(_={},m.default(_,I.CTIME,!0),m.default(_,I.MTIME,!0),m.default(_,I.CREATOR,!0),m.default(_,I.LAST_MODIFIER,!0),m.default(_,I.FORMULA,!0),m.default(_,I.AUTO_NUMBER,!0),m.default(_,I.BUTTON,!0),m.default(_,I.LINK_FORMULA,!0),_),X=(f={},m.default(f,I.MULTIPLE_SELECT,!0),m.default(f,I.COLLABORATOR,!0),m.default(f,I.LINK,!0),f),j=(E={},m.default(E,I.TEXT,!0),m.default(E,I.DATE,!0),m.default(E,I.CTIME,!0),m.default(E,I.MTIME,!0),m.default(E,I.NUMBER,!0),m.default(E,I.CHECKBOX,!0),m.default(E,I.SINGLE_SELECT,!0),m.default(E,I.CREATOR,!0),m.default(E,I.GEOLOCATION,!0),m.default(E,I.FORMULA,!0),m.default(E,I.LINK_FORMULA,!0),m.default(E,I.URL,!0),m.default(E,I.EMAIL,!0),m.default(E,I.DURATION,!0),m.default(E,I.RATE,!0),m.default(E,I.LAST_MODIFIER,!0),m.default(E,I.DIGITAL_SIGN,!0),E),K={TODAY:"today",TOMORROW:"tomorrow",YESTERDAY:"yesterday",ONE_WEEK_AGO:"one_week_ago",ONE_WEEK_FROM_NOW:"one_week_from_now",ONE_MONTH_AGO:"one_month_ago",ONE_MONTH_FROM_NOW:"one_month_from_now",NUMBER_OF_DAYS_AGO:"number_of_days_ago",NUMBER_OF_DAYS_FROM_NOW:"number_of_days_from_now",EXACT_DATE:"exact_date",THE_PAST_WEEK:"the_past_week",THE_PAST_MONTH:"the_past_month",THE_PAST_YEAR:"the_past_year",THE_NEXT_WEEK:"the_next_week",THE_NEXT_MONTH:"the_next_month",THE_NEXT_YEAR:"the_next_year",THE_NEXT_NUMBERS_OF_DAYS:"the_next_numbers_of_days",THE_PAST_NUMBERS_OF_DAYS:"the_past_numbers_of_days",THIS_WEEK:"this_week",THIS_MONTH:"this_month",THIS_YEAR:"this_year"},V=(O={},m.default(O,K.TODAY,"today"),m.default(O,K.TOMORROW,"tomorrow"),m.default(O,K.YESTERDAY,"yesterday"),m.default(O,K.ONE_WEEK_AGO,"one week ago"),m.default(O,K.ONE_WEEK_FROM_NOW,"one week from now"),m.default(O,K.ONE_MONTH_AGO,"one month ago"),m.default(O,K.ONE_MONTH_FROM_NOW,"one month from now"),m.default(O,K.NUMBER_OF_DAYS_AGO,"number of days ago"),m.default(O,K.NUMBER_OF_DAYS_FROM_NOW,"number of days from now"),m.default(O,K.EXACT_DATE,"exact date"),m.default(O,K.THE_PAST_WEEK,"the past week"),m.default(O,K.THE_PAST_MONTH,"the past month"),m.default(O,K.THE_PAST_YEAR,"the past year"),m.default(O,K.THE_NEXT_WEEK,"the next week"),m.default(O,K.THE_NEXT_MONTH,"the next month"),m.default(O,K.THE_NEXT_YEAR,"the next year"),m.default(O,K.THE_NEXT_NUMBERS_OF_DAYS,"the next numbers of days..."),m.default(O,K.THE_PAST_NUMBERS_OF_DAYS,"the past numbers of days..."),m.default(O,K.THIS_WEEK,"this week"),m.default(O,K.THIS_MONTH,"this month"),m.default(O,K.THIS_YEAR,"this year"),O),W={CONTAINS:"contains",NOT_CONTAIN:"does_not_contain",IS:"is",IS_NOT:"is_not",EQUAL:"equal",NOT_EQUAL:"not_equal",LESS:"less",GREATER:"greater",LESS_OR_EQUAL:"less_or_equal",GREATER_OR_EQUAL:"greater_or_equal",EMPTY:"is_empty",NOT_EMPTY:"is_not_empty",IS_WITHIN:"is_within",IS_BEFORE:"is_before",IS_AFTER:"is_after",IS_ON_OR_BEFORE:"is_on_or_before",IS_ON_OR_AFTER:"is_on_or_after",HAS_ANY_OF:"has_any_of",HAS_ALL_OF:"has_all_of",HAS_NONE_OF:"has_none_of",IS_EXACTLY:"is_exactly",INCLUDE_ME:"include_me",IS_CURRENT_USER_ID:"is_current_user_ID",IS_ANY_OF:"is_any_of",IS_NONE_OF:"is_none_of"},Q=(d={},m.default(d,W.CONTAINS,"contains"),m.default(d,W.NOT_CONTAIN,"does not contain"),m.default(d,W.IS,"is"),m.default(d,W.IS_NOT,"is not"),m.default(d,W.EQUAL,"="),m.default(d,W.NOT_EQUAL,"≠"),m.default(d,W.LESS,"<"),m.default(d,W.GREATER,">"),m.default(d,W.LESS_OR_EQUAL,"≤"),m.default(d,W.GREATER_OR_EQUAL,"≥"),m.default(d,W.EMPTY,"is empty"),m.default(d,W.NOT_EMPTY,"is not empty"),m.default(d,W.IS_WITHIN,"is within..."),m.default(d,W.IS_BEFORE,"is before..."),m.default(d,W.IS_AFTER,"is after..."),m.default(d,W.IS_ON_OR_BEFORE,"is on or before..."),m.default(d,W.IS_ON_OR_AFTER,"is on or after..."),m.default(d,W.HAS_ANY_OF,"has any of..."),m.default(d,W.HAS_ALL_OF,"has all of..."),m.default(d,W.HAS_NONE_OF,"has none of..."),m.default(d,W.IS_EXACTLY,"is exactly..."),m.default(d,W.IS_CURRENT_USER_ID,"is current user's ID"),d),q=[W.CONTAINS,W.NOT_CONTAIN,W.IS,W.IS_NOT,W.EMPTY,W.NOT_EMPTY,W.IS_CURRENT_USER_ID],Z=[W.EQUAL,W.NOT_EQUAL,W.LESS,W.GREATER,W.LESS_OR_EQUAL,W.GREATER_OR_EQUAL,W.EMPTY,W.NOT_EMPTY],$=[W.IS,W.IS_WITHIN,W.IS_BEFORE,W.IS_AFTER,W.IS_ON_OR_BEFORE,W.IS_ON_OR_AFTER,W.IS_NOT,W.EMPTY,W.NOT_EMPTY],z=q.filter((function(e){return e!==W.IS_CURRENT_USER_ID})),J=[K.TODAY,K.TOMORROW,K.YESTERDAY,K.ONE_WEEK_AGO,K.ONE_WEEK_FROM_NOW,K.ONE_MONTH_AGO,K.ONE_MONTH_FROM_NOW,K.NUMBER_OF_DAYS_AGO,K.NUMBER_OF_DAYS_FROM_NOW,K.EXACT_DATE],ee=(T={},m.default(T,I.TEXT,{filterPredicateList:q}),m.default(T,I.NUMBER,{filterPredicateList:Z}),m.default(T,I.CHECKBOX,{filterPredicateList:[W.IS]}),m.default(T,I.DATE,{filterPredicateList:$,filterTermModifierList:J}),m.default(T,I.CTIME,{filterPredicateList:$,filterTermModifierList:J}),m.default(T,I.MTIME,{filterPredicateList:$,filterTermModifierList:J}),m.default(T,I.SINGLE_SELECT,{filterPredicateList:[W.IS,W.IS_NOT,W.IS_ANY_OF,W.IS_NONE_OF,W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.MULTIPLE_SELECT,{filterPredicateList:[W.HAS_ANY_OF,W.HAS_ALL_OF,W.HAS_NONE_OF,W.IS_EXACTLY,W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.COLLABORATOR,{filterPredicateList:[W.HAS_ANY_OF,W.HAS_ALL_OF,W.HAS_NONE_OF,W.IS_EXACTLY,W.EMPTY,W.NOT_EMPTY,W.INCLUDE_ME]}),m.default(T,I.CREATOR,{filterPredicateList:[W.CONTAINS,W.NOT_CONTAIN,W.INCLUDE_ME,W.IS,W.IS_NOT]}),m.default(T,I.GEOLOCATION,{filterPredicateList:z}),m.default(T,I.FORMULA,{}),m.default(T,I.LINK_FORMULA,{}),m.default(T,I.LINK,{}),m.default(T,I.LAST_MODIFIER,{filterPredicateList:[W.CONTAINS,W.NOT_CONTAIN,W.INCLUDE_ME,W.IS,W.IS_NOT]}),m.default(T,I.AUTO_NUMBER,{filterPredicateList:[W.CONTAINS,W.NOT_CONTAIN,W.IS,W.IS_NOT]}),m.default(T,I.EMAIL,{filterPredicateList:[W.CONTAINS,W.NOT_CONTAIN,W.IS,W.IS_NOT,W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.URL,{filterPredicateList:[W.CONTAINS,W.NOT_CONTAIN,W.IS,W.IS_NOT,W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.IMAGE,{filterPredicateList:[W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.FILE,{filterPredicateList:[W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.LONG_TEXT,{filterPredicateList:[W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.DURATION,{filterPredicateList:Z}),m.default(T,I.RATE,{filterPredicateList:Z}),m.default(T,I.DIGITAL_SIGN,{filterPredicateList:[W.EMPTY,W.NOT_EMPTY]}),m.default(T,I.STRING,{filterPredicateList:q}),m.default(T,I.BOOL,{filterPredicateList:[W.IS]}),T),re=[K.EXACT_DATE,K.TODAY,K.TOMORROW,K.YESTERDAY,K.ONE_WEEK_AGO,K.ONE_WEEK_FROM_NOW,K.ONE_MONTH_AGO,K.ONE_MONTH_FROM_NOW,K.NUMBER_OF_DAYS_AGO,K.NUMBER_OF_DAYS_FROM_NOW],te=[K.THE_PAST_WEEK,K.THE_PAST_MONTH,K.THE_PAST_YEAR,K.THIS_WEEK,K.THIS_MONTH,K.THIS_YEAR,K.THE_NEXT_WEEK,K.THE_NEXT_MONTH,K.THE_NEXT_YEAR,K.THE_NEXT_NUMBERS_OF_DAYS,K.THE_PAST_NUMBERS_OF_DAYS],ae={AND:"And",OR:"Or"},ne={INVALID_FILTER:"invalid filter",INCOMPLETE_FILTER:"incomplete filter",COLUMN_MISSING:"the column to filter does not exist",COLUMN_NOT_SUPPORTED:"the column to filter is not supported",UNMATCHED_PREDICATE:"unmatched filter predicate",UNMATCHED_MODIFIER:"unmatched filter modifier",INVALID_TERM:"invalid filter term"},oe={NUMBER:"number",STRING:"string",DATE:"date",BOOL:"bool",ARRAY:"array"},ie=(A={},m.default(A,I.FORMULA,!0),m.default(A,I.LINK_FORMULA,!0),A),ue=["#ERROR!","#DIV/0!","#NAME?","#N/A","#NULL!","#NUM!","#REF!","#VALUE!","#GETTING_DATA"],se=[{COLOR:"#FFFCB5",BORDER_COLOR:"#E8E79D",TEXT_COLOR:"#212529"},{COLOR:"#FFEAB6",BORDER_COLOR:"#ECD084",TEXT_COLOR:"#212529"},{COLOR:"#FFD9C8",BORDER_COLOR:"#EFBAA3",TEXT_COLOR:"#212529"},{COLOR:"#FFDDE5",BORDER_COLOR:"#EDC4C1",TEXT_COLOR:"#212529"},{COLOR:"#FFD4FF",BORDER_COLOR:"#E6B6E6",TEXT_COLOR:"#212529"},{COLOR:"#DAD7FF",BORDER_COLOR:"#C3BEEF",TEXT_COLOR:"#212529"},{COLOR:"#DDFFE6",BORDER_COLOR:"#BBEBCD",TEXT_COLOR:"#212529"},{COLOR:"#DEF7C4",BORDER_COLOR:"#C5EB9E",TEXT_COLOR:"#212529"},{COLOR:"#D8FAFF",BORDER_COLOR:"#B4E4E9",TEXT_COLOR:"#212529"},{COLOR:"#D7E8FF",BORDER_COLOR:"#BAD1E9",TEXT_COLOR:"#212529"},{COLOR:"#B7CEF9",BORDER_COLOR:"#96B2E1",TEXT_COLOR:"#212529"},{COLOR:"#E9E9E9",BORDER_COLOR:"#DADADA",TEXT_COLOR:"#212529"},{COLOR:"#FBD44A",BORDER_COLOR:"#E5C142",TEXT_COLOR:"#FFFFFF"},{COLOR:"#EAA775",BORDER_COLOR:"#D59361",TEXT_COLOR:"#FFFFFF"},{COLOR:"#F4667C",BORDER_COLOR:"#DC556A",TEXT_COLOR:"#FFFFFF"},{COLOR:"#DC82D2",BORDER_COLOR:"#D166C5",TEXT_COLOR:"#FFFFFF"},{COLOR:"#9860E5",BORDER_COLOR:"#844BD2",TEXT_COLOR:"#FFFFFF"},{COLOR:"#9F8CF1",BORDER_COLOR:"#8F75E2",TEXT_COLOR:"#FFFFFF"},{COLOR:"#59CB74",BORDER_COLOR:"#4EB867",TEXT_COLOR:"#FFFFFF"},{COLOR:"#ADDF84",BORDER_COLOR:"#9CCF72",TEXT_COLOR:"#FFFFFF"},{COLOR:"#89D2EA",BORDER_COLOR:"#7BC0D6",TEXT_COLOR:"#FFFFFF"},{COLOR:"#4ECCCB",BORDER_COLOR:"#45BAB9",TEXT_COLOR:"#FFFFFF"},{COLOR:"#46A1FD",BORDER_COLOR:"#3C8FE4",TEXT_COLOR:"#FFFFFF"},{COLOR:"#C2C2C2",BORDER_COLOR:"#ADADAD",TEXT_COLOR:"#FFFFFF"}],le={UP:"up",DOWN:"down"},ce=[I.DATE,I.CTIME,I.MTIME,I.SINGLE_SELECT,I.TEXT,I.NUMBER,I.FORMULA,I.LINK_FORMULA,I.AUTO_NUMBER,I.COLLABORATOR,I.DURATION,I.URL,I.EMAIL,I.CHECKBOX,I.MULTIPLE_SELECT,I.LINK,I.RATE],_e=[I.TEXT,I.URL,I.EMAIL],fe=[I.NUMBER,I.DURATION,I.RATE],Ee={DAY:"day",WEEK:"week",MONTH:"month",QUARTAR:"quartar",YEAR:"year"},Oe=(p={},m.default(p,Ee.DAY,"By_day"),m.default(p,Ee.WEEK,"By_week"),m.default(p,Ee.MONTH,"By_month"),m.default(p,Ee.QUARTAR,"By_quarter"),m.default(p,Ee.YEAR,"By_year"),p),de={PROVINCE:"province",CITY:"city",DISTRICT:"district",COUNTRY:"country"},Te=(y={},m.default(y,de.PROVINCE,"By_province"),m.default(y,de.CITY,"By_city"),m.default(y,de.DISTRICT,"By_district"),y),Ae=[I.TEXT,I.DATE,I.CTIME,I.MTIME,I.NUMBER,I.CHECKBOX,I.SINGLE_SELECT,I.MULTIPLE_SELECT,I.COLLABORATOR,I.CREATOR,I.GEOLOCATION,I.FORMULA,I.LINK_FORMULA,I.LINK,I.URL,I.EMAIL,I.DURATION,I.RATE,I.LAST_MODIFIER],pe=/\d+|\D+/g,ye=/\d/,me={color_gradation_1:["#FFFFFF","#CAE9FF","#9AC5FF","#7DAAFF","#5C90F9"],color_gradation_2:["#5C90F9","#7DAAFF","#9AC5FF","#CAE9FF","#FFFFFF"],color_gradation_3:["#FFFFFF","#AAF7D2","#74E6B6","#42C090","#17A675"],color_gradation_4:["#17A675","#42C090","#74E6B6","#AAF7D2","#FFFFFF"],color_gradation_5:["#FFFFFF","#EBE2F1","#D4C4E2","#BFA8D4","#A989C5"],color_gradation_6:["#A989C5","#BFA8D4","#D4C4E2","#EBE2F1","#FFFFFF"],color_gradation_7:["#FFFFFF","#FBE2E1","#F7C6C6","#F3A9A9","#F17F7E"],color_gradation_8:["#F17F7E","#F3A9A9","#F7C6C6","#FBE2E1","#FFFFFF"],color_gradation_9:["#FFFFFF","#FFF2D4","#FFE9B8","#FFDD95","#FFD470"],color_gradation_10:["#FFD470","#FFDD95","#FFE9B8","#FFF2D4","#FFFFFF"],color_gradation_11:["#FFFFFF","#FEE6CE","#FDD1A2","#FDAD6B","#FD8D3D"],color_gradation_12:["#FD8D3D","#FDAD6B","#FDD1A2","#FEE6CE","#FFFFFF"]},Re=function(e){return null==e||(void 0!==e.length?0===e.length:!(e instanceof Date)&&("object"===R.default(e)&&0===Object.keys(e).length))},Le=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},Me=function(e,r){return e&&Array.isArray(e.columns)&&r?e.columns.find((function(e){return e.key===r})):null},Ne=function(e,r){return e&&e.id_row_map&&Array.isArray(r)?r.map((function(r){return e.id_row_map[r]})).filter(Boolean):[]},De=[1,1,1,2,2,2,3,3,3,4,4,4],Ce=/(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Ie=/\d\d?/,Fe=/\d\d/,ve={mm:[Ie,Y.MINUTES],HH:[Ie,Y.HOURS],D:[Ie,Y.DAY],DD:[Fe,Y.DAY],M:[Ie,Y.MONTH],MM:[Fe,Y.MONTH],YYYY:[/\d{4}/,Y.YEAR]},ge=["YYYY","MM","M","DD","D"],Se=function(){function e(){L.default(this,e)}return M.default(e,null,[{key:"format",value:function(e,r){var t=this.getValidDate(e);if(!t)return"";var a=r&&r.toUpperCase(),n=t.getFullYear(),o=t.getMonth()+1,i=t.getDate(),u=o<10?"0".concat(o):o,s=i<10?"0".concat(i):i;switch(a){case"YYYY-MM-DD HH:MM:SS":var l=t.getHours(),c=t.getMinutes(),_=t.getSeconds(),f=l<10?"0".concat(l):l,E=c<10?"0".concat(c):c,O=_<10?"0".concat(_):_;return"".concat(n,"-").concat(u,"-").concat(s," ").concat(f,":").concat(E,":").concat(O);case"YYYY-MM-DD HH:MM":var d=t.getHours(),T=t.getMinutes(),A=d<10?"0".concat(d):d,p=T<10?"0".concat(T):T;return"".concat(n,"-").concat(u,"-").concat(s," ").concat(A,":").concat(p);default:return"".concat(n,"-").concat(u,"-").concat(s)}}},{key:"getDateByGranularity",value:function(e,r){var t=this.getValidDate(e);if(!t)return"";var a=r&&r.toUpperCase(),n=t.getFullYear();switch(a){case"YEAR":return"".concat(n);case"QUARTAR":var o=t.getMonth(),i=De[o];return"".concat(n,"-Q").concat(i);case"MONTH":var u=t.getMonth()+1,s=u<10?"0".concat(u):u;return"".concat(n,"-").concat(s);case"WEEK":var l=t.getDay(),c=t.getDate()+(0===l?-6:1-l),_=new Date(n,t.getMonth(),c),f=_.getMonth()+1,E=_.getDate(),O=f<10?"0".concat(f):f,d=E<10?"0".concat(E):E;return"".concat(_.getFullYear(),"-").concat(O,"-").concat(d);case"DAY":var T=t.getMonth()+1,A=t.getDate(),p=T<10?"0".concat(T):T,y=A<10?"0".concat(A):A;return"".concat(n,"-").concat(p,"-").concat(y);default:return""}}},{key:"isValidDateObject",value:function(e){return e instanceof Date&&!isNaN(e.getTime())}},{key:"getValidDate",value:function(e){if(!e)return null;var r="string"==typeof e,t=e,a=e;return r&&(t.split(" ").length>1||t.includes("T")?a=new Date(e):(t="".concat(e," 00:00:00"),a=new Date(t))),this.isValidDateObject(a)?a:r?(a=new Date(t.replace(/-/g,"/")),this.isValidDateObject(a)?a:null):null}},{key:"parseDateWithFormat",value:function(e,r){try{var t=this.makeParser(r)(e),a=t.year,n=t.month,o=t.day,i=t.hours,u=t.minutes;if(!a)a=(new Date).getFullYear();var s=new Date("".concat(a,"-").concat(n,"-").concat(o," ").concat(i||"00",":").concat(u||"00"));return this.isValidDateObject(s)?s:this.getValidDate(e)}catch(r){return this.getValidDate(e)}}},{key:"makeParser",value:function(e){var r=(e||b).match(Ce),t=r.length;return function(e){for(var a=e.split(" "),n=a[0]||"",o=a[1]||"",i={},u=0;u<t;u++){var s=r[u],l=ve[s];if(l){var c=l[0],_=l[1];if(_){var f=ge.includes(s),E=f?c.exec(n):c.exec(o);if(E){var O=E[0];i[_]=O,f?n=n.replace(O,""):o=o.replace(O,"")}}}}return i}}}]),e}(),he=function(e,r){if(!Array.isArray(e)||!Array.isArray(r))return[];var t={};return r.forEach((function(e){t[e.email]=e})),e.map((function(e){var r=t[e];return r&&r.name})).filter(Boolean)},be=function(e,r){var t=he(r,e);return Array.isArray(t)&&0!==t.length?t.join(", "):""},Ye=function(e,r){if(!e||"string"!=typeof e)return"";var t=N.default(e);if(!t.isValid())return e;switch(r){case"D/M/YYYY":case"DD/MM/YYYY":var a=t.format("YYYY-MM-DD").split("-");return"".concat(a[2],"/").concat(a[1],"/").concat(a[0]);case"D/M/YYYY HH:mm":case"DD/MM/YYYY HH:mm":var n=t.format("YYYY-MM-DD HH:mm").split(" "),o=n[0].split("-");return"".concat(o[2],"/").concat(o[1],"/").concat(o[0]," ").concat(n[1]);case"M/D/YYYY":return t.format("M/D/YYYY");case"M/D/YYYY HH:mm":return t.format("M/D/YYYY HH:mm");case"YYYY-MM-DD":default:return t.format("YYYY-MM-DD");case"YYYY-MM-DD HH:mm":return t.format("YYYY-MM-DD HH:mm");case"YYYY-MM-DD HH:mm:ss":return t.format("YYYY-MM-DD HH:mm:ss");case"DD.MM.YYYY":return t.format("DD.MM.YYYY");case"DD.MM.YYYY HH:mm":return t.format("DD.MM.YYYY HH:mm")}},Ue=function(e){return e&&e.sign_image_url||""},Pe=function(e,r){if(!e&&0!==e)return"";var t=(r||{}).duration_format;if(t=t||P.H_MM,B.findIndex((function(e){return e.type===t}))<0)return"";if(0===e)return w[t];var a=t.indexOf(".")>-1,n=Math.abs(e);a||(n=Math.round(n)),n=function(e,r){var t=x[r];if(t<1)return e;var a=Math.pow(10,t);return Math.round(e*a)/a}(n,t);var o=String(n).split("."),i=o.length,u=0;i>1&&(u=(u=o[i-1])?u-0:0);var s=x[t],l=function(e,r){if(e===P.H_MM_SS_S)return 0===r?".0":"";if(e===P.H_MM_SS_SS)return 0===r?".00":r<10?"0":"";if(e===P.H_MM_SS_SSS){if(0===r)return".000";if(r<10)return"00";if(r<100)return"0"}return""}(t,u),c=parseInt(n/3600),_=parseInt((n-3600*c)/60),f=e<0?"-":"";if(t===P.H_MM)return f+="".concat(c,":").concat(_>9?_:"0".concat(_));var E=Number.parseFloat((n-3600*c-60*_).toFixed(s));return _=_>9?_:"0".concat(_),E=E>9?E:"0".concat(E),f+="".concat(c,":").concat(_,":").concat(E).concat(l)},Be=function(e,r){return(e||0===e)&&(r||0===r)},xe=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=t.isBaiduMap,n=void 0===a||a,o=t.hyphen,i=void 0===o?"":o;if(!e)return"";switch((r||{}).geo_format){case"lng_lat":var u=e.lng,s=e.lat;return Be(u,s)?n?"".concat(u,", ").concat(s):"".concat(s,", ").concat(u):"";case"country_region":return e.country_region||"";case"province":return e.province||"";case"province_city":var l=e.province,c=e.city;return"".concat(l||"").concat(i).concat(c||"").trim();case"province_city_district":var _=e.province,f=e.city,E=e.district;return"".concat(_||"").concat(i).concat(f||"").concat(i).concat(E||"").trim();case"map_selection":var O=e.address,d=e.title;return"".concat(O||"").concat(i).concat(d||"").trim();default:var T=e.province,A=e.city,p=e.district,y=e.detail;return T||A||p||y?"".concat(T||"").concat(i).concat(A||"").concat(i).concat(p||"").concat(i).concat(y||"").trim():""}},we=function(e,r){if(!e)return"";var t=e.province,a=e.city,n=e.district,o=e.country_region;switch(r){case de.CITY:return a||"";case de.DISTRICT:return n||"";case de.COUNTRY:return o||"";default:return t||""}},He=function(e){return e&&e.text||""},ke=function(e){var r=e.toString().split(/[eE]/),t=(r[0].split(".")[1]||"").length-+(r[1]||0);return t>0?t:0},Ge=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;return+parseFloat(Number(e).toPrecision(r))},Xe=function(e){if(-1===e.toString().indexOf("e"))return Number(e.toString().replace(".",""));var r=ke(e);return r>0?Ge(Number(e)*Math.pow(10,r)):Number(e)},je=function(e,r){var t=Xe(e),a=Xe(r),n=ke(e)+ke(r);return t*a/Math.pow(10,n)},Ke={comma:",",dot:".",no:"",space:" "},Ve=function(e){return"string"!=typeof e?"":e.endsWith("0")?e.replace(/(?:\.0*|(\.\d+?)0+)$/,"$1"):e},We=function(e,r){var t=r.formats,a=r.isCurrency,n=void 0===a||a,o=t||{},i=o.decimal,u=void 0===i?"dot":i,s=o.thousands,l=void 0===s?"no":s,c=o.precision,_=void 0===c?2:c,f=o.enable_precision,E=void 0!==f&&f;if(String(e).includes("e")){if(e<1&&e>-1){var O=e.toFixed(E?_:8);return E||(O=Ve(O)),0===parseFloat(O)&&O.startsWith("-")?O.substring(1):O}return String(e)}var d,T,A,p=Ke[u],y=Ke[l],m=E?_:function(e){if(Number.isInteger(e))return 0;var r=String(e).split(".")[1],t=r?r.length:8;return t>8?8:t}(e),R=parseFloat(e.toFixed(m)),L=R<0,M=Math.trunc(R),N=String(Math.abs((d=R,T=M,A=Math.pow(10,Math.max(ke(d),ke(T))),(je(d,A)-je(T,A))/A)).toFixed(m)).slice(1);E||(N=Ve(N)),n&&(E||(N=2===N.length?N=N.padEnd(3,"0"):(N.substring(0,3)||".").padEnd(3,"0"))),N=N.replace(/./,p);for(var D=[],C=0,I=(M=Math.abs(M).toString()).length-1;I>-1;I--)C+=1,D.unshift(M[I]),C%3||0===I||D.unshift(y);return"".concat(L?"-":"").concat(D.join("")).concat(N)},Qe=function(e,r){var t=Object.prototype.toString.call(e);if("[object Number]"!==t)return"[object String]"===t&&e.startsWith("#")?e:"";if(isNaN(e)||e===1/0||e===-1/0)return String(e);var a=(r||{}).format;switch(void 0===a?H:a){case"number":return We(e,{formats:r,isCurrency:!1});case"percent":return"".concat(We(Number.parseFloat((100*e).toFixed(8)),{formats:r,isCurrency:!1}),"%");case"yuan":return"¥".concat(We(e,{formats:r}));case"dollar":return"$".concat(We(e,{formats:r}));case"euro":return"€".concat(We(e,{formats:r}));case"duration":return Pe(e,r);case"custom_currency":return"after"===r.currency_symbol_position?"".concat(We(e,{formats:r})).concat(r.currency_symbol||""):"".concat(r.currency_symbol||"").concat(We(e,{formats:r}));default:return String(e)}},qe=function(e){return e&&e.data&&Array.isArray(e.data.options)?e.data.options:[]},Ze=function(e){if(1===e.length)return String(Math.floor(Math.random()*Math.pow(10,6)));for(var r,t=!1;!(t||(r=String(Math.floor(Math.random()*Math.pow(10,6))),t=e.every((function(e){return e.id!==r})))););return r},$e=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=Ze(e),n=t&&se.find((function(e){return e.COLOR===t}));return n||(n=function(e){var r=se.slice(12,24),t=Math.floor(Math.random()*r.length);if(!Array.isArray(e)||0===e.length)return r[t];var a=e.slice(-(r.length-1)),n=[],o={};for(r.forEach((function(e,r){o[e.COLOR]=r})),a.forEach((function(e){var r=o[e.color];n.push(r)}));-1!=n.indexOf(t);)t=Math.floor(Math.random()*r.length);return r[t]||r[0]}(e)),{id:a,name:r,color:n.COLOR,textColor:n.TEXT_COLOR}},ze=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e.id===r})):null},Je=function(e,r){if(!r||!Array.isArray(e))return"";var t=ze(e,r);return t?t.name:""},er=function(e,r){var t=qe(e);return Je(t,r)},rr=function(e,r){if(!Array.isArray(r)||!Array.isArray(e))return"";var t=e.filter((function(e){return r.includes(e.id)}));return 0===t.length?"":t.map((function(e){return e.name})).join(", ")},tr=function(e,r){if(!r||!e||0===e.length)return"";var t=e.find((function(e){return e.id===r}));return t&&t.name||""},ar=[I.IMAGE,I.FILE,I.MULTIPLE_SELECT,I.COLLABORATOR],nr=function(e,r,t){var a=t.collaborators,n=t.isArchiveView;if(!Array.isArray(e)||0===e.length||!r.data)return"";var o=r.key,i=r.data,u=i.array_type,s=i.array_data,l={key:o,type:u,data:s};return ar.includes(u)?ur(m.default({},o,e),l,{collaborators:a}):u===I.STRING?(l.type=I.TEXT,e.map((function(e){return ur(m.default({},o,e),l)})).filter(Boolean).join(", ")):u===I.BOOL?(l.type=I.CHECKBOX,e.map((function(e){return ur(m.default({},o,e),l)})).filter(Boolean).join(", ")):e.map((function(e){return ur(m.default({},o,e),l,{collaborators:a,isArchiveView:n})})).filter((function(e){return e||0===e})).join(", ")},or=function(e,r){if(!r)return"";var t=r.result_type;if(t===oe.NUMBER)return Qe(e,r);if(t===oe.DATE){var a=r.format;return Ye(e,a)}if(t===oe.ARRAY){var n=r.array_type,o=r.array_data;return n?h.includes(n)?e:!ar.includes(n)&&Array.isArray(e)?e.map((function(e){return ir({FORMULA_ARRAY:e},n,"FORMULA_ARRAY",{data:o})})).join(", "):ir({FORMULA_ARRAY:e},n,"FORMULA_ARRAY",{data:o}):""}return"[object Boolean]"===Object.prototype.toString.call(e)?String(e):e},ir=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.data,o=a.formulaRows,i=void 0===o?{}:o,u=a.collaborators,s=void 0===u?[]:u,l=a.departments,c=void 0===l?[]:l,_=a.isBaiduMap,f=void 0===_||_,E=a.geolocationHyphen,O=void 0===E?"":E;if(!e)return"";var d=e[t];switch(r){case I.LONG_TEXT:return He(d);case I.NUMBER:return Qe(d,n);case I.DURATION:return Pe(d,n);case I.GEOLOCATION:return xe(d,n,{isBaiduMap:f,hyphen:O});case I.SINGLE_SELECT:if(!n)return"";var T=n.options;return Je(T,d);case I.MULTIPLE_SELECT:if(!n)return"";var A=n.options;return rr(A,d);case I.DATE:var p=(n||{}).format;return Ye(d,void 0===p?b:p);case I.CTIME:case I.MTIME:return Se.format(d,"YYYY-MM-DD HH:MM:SS");case I.COLLABORATOR:return be(s,d);case I.DEPARTMENT_SINGLE_SELECT:return tr(c,d);case I.CREATOR:case I.LAST_MODIFIER:return"anonymous"===d?d:be(s,[d]);case I.FORMULA:case I.LINK_FORMULA:var y=i&&i[e._id];return y?or(y[t],n):"";case I.DIGITAL_SIGN:return Ue(d);default:return d||"boolean"==typeof d?String(d):""}},ur=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=t.formulaRows,n=void 0===a?{}:a,o=t.collaborators,i=void 0===o?[]:o,u=t.isArchiveView,s=void 0!==u&&u;if(!e||!r)return"";var l=r.key,c=r.type,_=r.data,f=e[l];switch(c){case I.TEXT:case I.EMAIL:case I.URL:case I.AUTO_NUMBER:return f||"";case I.RATE:return f?String(f):"";case I.CHECKBOX:return"boolean"==typeof f?String(f):"true"===f?"true":"false";case I.LONG_TEXT:return s&&(f={text:f}),He(f);case I.NUMBER:return Qe(f,_);case I.DURATION:return Pe(f,_);case I.GEOLOCATION:return xe(f,_);case I.SINGLE_SELECT:return _?Je(_.options,f):"";case I.MULTIPLE_SELECT:return _?rr(_.options,f):"";case I.DATE:var E=(_||{}).format,O=void 0===E?b:E,d="D/M/YYYY"===O?O.replace(/D\/M\/YYYY/,"DD/MM/YYYY"):O;return Ye(f,d);case I.CTIME:case I.MTIME:return Se.format(f,"YYYY-MM-DD HH:MM:SS");case I.COLLABORATOR:return be(i,f);case I.DEPARTMENT_SINGLE_SELECT:return tr(departments,f);case I.CREATOR:case I.LAST_MODIFIER:return"anonymous"===f?f:be(i,[f]);case I.LINK:var T=f;if(!s){var A=n&&n[e._id];T=A&&A[l]}if(!Array.isArray(T)||0===T.length)return"";var p=T.map((function(e){return e.display_value}));return p.some((function(e){return Array.isArray(e)}))?p.map((function(e){return nr(e,r,{collaborators:i,isArchiveView:s})})).filter(Boolean).join(", "):nr(p,r,{collaborators:i});case I.FORMULA:case I.LINK_FORMULA:var y=f;if(!s){var m=n&&n[e._id];y=m&&m[l]}var R=_.result_type;if(R===oe.STRING)return y||"";if(R===oe.BOOL)return"boolean"==typeof y?String(y):"true"===y?"true":"false";if(R===oe.NUMBER)return Qe(y,_);if(R===oe.DATE){var L=_.format;return Ye(y,L)}return nr(y,r,{collaborators:i,isArchiveView:s});case I.FILE:case I.IMAGE:case I.DIGITAL_SIGN:case I.BUTTON:return"";default:return f?String(f):""}},sr=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},lr=function(e,r,t){return e===r?t:r},cr=function(e,r,t,a,n){if(!(Array.isArray(e)&&0!==e.length&&t&&a&&n))return[];var o=sr(e,r);if(!o)return[];var i=(t===a?o.table2_table1_map:o.table1_id===t?o.table1_table2_map:o.table2_table1_map)[n];return i?D.default(i):[]},_r=function(e){return Array.isArray(e)&&"object"===R.default(e[0])},fr=function(e){var r=e.type,t=e.data;if(ie[r]){var a=t||{},n=a.result_type,o=a.array_type;return n===oe.ARRAY?o:n}return r===I.LINK?(t||{}).array_type:r},Er=function(e){return g.includes(fr(e))},Or="number",dr="string",Tr="boolean",Ar="array",pr=[I.TEXT,I.STRING],yr=[W.EMPTY,W.NOT_EMPTY],mr=[W.IS_ANY_OF,W.IS_NONE_OF],Rr=[K.NUMBER_OF_DAYS_AGO,K.NUMBER_OF_DAYS_FROM_NOW,K.THE_NEXT_NUMBERS_OF_DAYS,K.THE_PAST_NUMBERS_OF_DAYS,K.EXACT_DATE],Lr=[K.NUMBER_OF_DAYS_AGO,K.NUMBER_OF_DAYS_FROM_NOW,K.THE_NEXT_NUMBERS_OF_DAYS,K.THE_PAST_NUMBERS_OF_DAYS],Mr=function(){function e(){L.default(this,e)}return M.default(e,null,[{key:"validate",value:function(e,r){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=e.column_key,n=e.filter_predicate,o=e.filter_term_modifier,i=e.filter_term,u=this.validateColumn(a,r).error_message;if(u)return{error_message:u};var s=r.find((function(e){return e.key===a})),l=this.validatePredicate(n,s).error_message;if(l)return{error_message:l};if(this.isFilterOnlyWithPredicate(n,s))return{error_message:null};var c=this.validateModifier(o,n,s).error_message;if(c)return{error_message:c};if(this.isFilterOnlyWithModifier(o,s))return{error_message:null};if(t){var _=this.validateTerm(i,n,o,s).error_message;if(_)return{error_message:_}}return{error_message:null}}},{key:"validateColumn",value:function(e,r){if(!e)return{error_message:ne.INCOMPLETE_FILTER};var t=r.find((function(r){return r.key===e}));return t?this.isValidColumnType(t)?{error_message:null}:{error_message:ne.COLUMN_NOT_SUPPORTED}:{error_message:ne.COLUMN_MISSING}}},{key:"validatePredicate",value:function(e,r){if(!e)return{error_message:ne.INCOMPLETE_FILTER};var t=r.type,a=r.data,n=ee[t].filterPredicateList;if(ie[t]||t===I.LINK){var o=a.result_type;return o===oe.ARRAY?this.validatePredicateWithArrayType(e,r):this.validatePredicate(e,{type:o})}return n.includes(e)?{error_message:null}:{error_message:ne.UNMATCHED_PREDICATE}}},{key:"validatePredicateWithArrayType",value:function(e,r){var t=r.data.array_type;return t===I.CHECKBOX||t===I.BOOL?this.validatePredicate(e,{type:I.CHECKBOX}):!!yr.includes(e)||(t===I.SINGLE_SELECT?this.validatePredicate(e,{type:I.MULTIPLE_SELECT}):h.includes(t)?this.validatePredicate(e,{type:I.COLLABORATOR}):this.validatePredicate(e,{type:t}))}},{key:"isFilterOnlyWithPredicate",value:function(e,r){if(yr.includes(e))return!0;var t=r.type,a=r.data;if(ie[t]||t===I.LINK){var n=a.result_type,o=a.array_type;return n===oe.ARRAY?this.isFilterOnlyWithPredicate(e,{type:o}):this.isFilterOnlyWithPredicate(e,{type:n})}var i=W.INCLUDE_ME;return!(e!==W.IS_CURRENT_USER_ID||!pr.includes(t))||!(e!==i||!h.includes(t))}},{key:"validateModifier",value:function(e,r,t){if(!Er(t))return{error_message:null};if(!e)return{error_message:ne.INCOMPLETE_FILTER};if(r===W.IS_WITHIN){if(te.includes(e))return{error_message:null}}else if(re.includes(e))return{error_message:null};return{error_message:ne.UNMATCHED_MODIFIER}}},{key:"isFilterOnlyWithModifier",value:function(e,r){return!!Er(r)&&!Rr.includes(e)}},{key:"validateTerm",value:function(e,r,t,a){return this.isTermMissing(e)?{error_message:ne.INCOMPLETE_FILTER}:this.isValidTerm(e,r,t,a)?{error_message:null}:{error_message:ne.INVALID_TERM}}},{key:"isTermMissing",value:function(e){return!e&&0!==e&&!1!==e||Array.isArray(e)&&0===e.length}},{key:"isValidTerm",value:function(e,r,t,a){switch(a.type){case I.TEXT:case I.GEOLOCATION:case I.AUTO_NUMBER:case I.EMAIL:case I.URL:case I.STRING:return this.isValidTermType(e,dr);case I.SINGLE_SELECT:var n=qe(a);return mr.includes(r)?!!this.isValidTermType(e,Ar)&&this.isValidSelectedOptions(e,n):!!this.isValidTermType(e,dr)&&!!n.find((function(r){return e===r.id}));case I.NUMBER:case I.DURATION:case I.RATE:return this.isValidTermType(e,Or);case I.CHECKBOX:case I.BOOL:return this.isValidTermType(e,Tr);case I.COLLABORATOR:case I.CREATOR:case I.LAST_MODIFIER:return this.isValidTermType(e,Ar);case I.MULTIPLE_SELECT:if(!this.isValidTermType(e,Ar))return!1;var o=qe(a);return this.isValidSelectedOptions(e,o);case I.DATE:case I.CTIME:case I.MTIME:return Lr.includes(t)?this.isValidTermType(e,Or):this.isValidTermType(e,dr);case I.FORMULA:case I.LINK_FORMULA:var i=a.data.result_type;return i===oe.ARRAY?this.isValidTermWithArrayType(e,r,t,a):this.isValidTerm(e,r,t,{type:i});case I.LINK:return this.isValidTermWithArrayType(e,r,t,a);default:return!1}}},{key:"isValidTermType",value:function(e,r){return r===Ar?Array.isArray(e)&&e.length>0:r===I.NUMBER?R.default(e)===r||!isNaN(Number(e)):R.default(e)===r}},{key:"isValidTermWithArrayType",value:function(e,r,t,a){var n=a.data,o=n.array_type,i=n.array_data;return o===I.SINGLE_SELECT?this.isValidTerm(e,r,t,{type:I.MULTIPLE_SELECT,data:i}):h.includes(o)?this.isValidTerm(e,r,t,{type:I.COLLABORATOR}):this.isValidTerm(e,r,t,{type:o,data:i})}},{key:"isValidColumnType",value:function(e){var r=e.type,t=e.data;if(ie[r]||r===I.LINK){if(!t)return!1;var a=t.result_type,n=t.array_type;return a===oe.ARRAY?this.isValidColumnType({type:n}):this.isValidColumnType({type:a})}return ee.hasOwnProperty(r)}},{key:"isValidSelectedOptions",value:function(e,r){var t=r.filter((function(r){return e.includes(r.id)}));return e.length===t.length}}]),e}();function Nr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Dr(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Nr(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Nr(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Cr=[K.TODAY,K.TOMORROW,K.YESTERDAY,K.ONE_WEEK_AGO,K.ONE_WEEK_FROM_NOW,K.ONE_MONTH_AGO,K.ONE_MONTH_FROM_NOW,K.NUMBER_OF_DAYS_AGO,K.NUMBER_OF_DAYS_FROM_NOW,K.EXACT_DATE],Ir=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){var t=Mr.validate(e,r).error_message;return!t||t!==ne.INCOMPLETE_FILTER})):[]},Fr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return!Mr.validate(e,r).error_message})):[]},vr=function(e,r){var t=new Date,a=t.getFullYear(),n=t.getMonth(),o=t.getDate(),i=[31,28,31,30,31,30,31,31,30,31,30,31];switch(i[1]=a%4!=0||a%100==0&&a%400!=0?28:29,e){case K.TODAY:return new Date(a,n,o,0,0,0);case K.TOMORROW:return new Date(a,n,o+1);case K.YESTERDAY:return new Date(a,n,o-1);case K.ONE_WEEK_AGO:return new Date(a,n,o-7);case K.ONE_WEEK_FROM_NOW:return new Date(a,n,o+7);case K.ONE_MONTH_AGO:var u=n-1,s=0===n?11:u,l=o>i[s]?i[s]:o;return new Date(a,u,l);case K.ONE_MONTH_FROM_NOW:var c=n+1,_=11===n?0:c,f=o>i[_]?i[_]:o;return new Date(a,c,f);case K.NUMBER_OF_DAYS_AGO:return new Date(a,n,o-Number(r));case K.NUMBER_OF_DAYS_FROM_NOW:return new Date(a,n,o+Number(r));case K.EXACT_DATE:return new Date(r);case K.THE_PAST_WEEK:var E=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,o-E-6),endDate:new Date(a,n,o-E)};case K.THIS_WEEK:var O=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,o-O+1),endDate:new Date(a,n,o-O+7)};case K.THE_NEXT_WEEK:var d=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,o-d+8),endDate:new Date(a,n,o-d+14)};case K.THE_PAST_MONTH:var T=n-1;return{startDate:new Date(a,T,1),endDate:new Date(a,T,i[0===n?11:T])};case K.THIS_MONTH:return{startDate:new Date(a,n,1),endDate:new Date(a,n,i[n])};case K.THE_NEXT_MONTH:var A=n+1;return{startDate:new Date(a,A,1),endDate:new Date(a,A,11===n?i[0]:i[A])};case K.THE_PAST_YEAR:var p=a-1;return{startDate:new Date(p,0,1),endDate:new Date(p,11,31)};case K.THIS_YEAR:return{startDate:new Date(a,0,1),endDate:new Date(a,11,31)};case K.THE_NEXT_YEAR:var y=a+1;return{startDate:new Date(y,0,1),endDate:new Date(y,11,31)};case K.THE_NEXT_NUMBERS_OF_DAYS:return{startDate:new Date(a,n,o+1,0,0,0),endDate:new Date(a,n,o+Number(r))};case K.THE_PAST_NUMBERS_OF_DAYS:return{startDate:new Date(a,n,o-Number(r)),endDate:new Date(a,n,o,0,0,0)};default:return{}}},gr=function(e,r){var t=vr(e,r);if(Cr.includes(e))return Se.format(t);var a=t.startDate,n=t.endDate;return{startDate:a?Se.format(a):"",endDate:n?Se.format(n):""}},Sr=function e(r,t){var a=r.filter_term,n=r.filter_term_modifier,o=t.type,i=t.data,u=r;switch(o){case I.FORMULA:case I.LINK_FORMULA:var s=i.result_type,l=i.array_type,c=i.array_data;if(s===oe.DATE&&(u.other_date=gr(n,a)),s===oe.ARRAY){var _={type:l,data:c};u.linked_column=_,u=e(u,_)}break;case I.DATE:case I.CTIME:case I.MTIME:u.other_date=gr(n,a);break;case I.LINK:var f=i||{},E={type:f.array_type,data:f.array_data},O=Dr(Dr({},i),{},{result_type:oe.ARRAY}),d=Dr(Dr({},t),{},{data:O});u.column=d,u.linked_column=E,u=e(u,E)}return u},hr=function(e){return e.map((function(e){return Sr(e,e.column)}))},br=function(e,r){var t=[];return e.forEach((function(e){var a=e.column_key,n=Mr.validate(e,r).error_message;if(n){if(n!==ne.INCOMPLETE_FILTER)throw new Error(n)}else{var o=r.find((function(e){return e.key===a})),i=Dr(Dr({},e),{},{column:o});t.push(i)}})),t};function Yr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Ur(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Yr(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Yr(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Pr=function(e,r){if(!e||!Array.isArray(r))return!1;var t=e.column_key,a=r.find((function(e){return e.key===t}));return!!a&&Ae.includes(a.type)},Br=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return Pr(e,r)})):[]},xr=function(e,r,t,a){var n=Br(e,r),o=[];return n.forEach((function(e){var n=e.column_key,i=e.count_type,u=r.find((function(e){return n===e.key})),s=u.type,l=u.data,c=Ur(Ur({},e),{},{column:u});switch(s){case I.DATE:case I.CTIME:case I.MTIME:c.count_type=i||Ee.MONTH;break;case I.GEOLOCATION:c.count_type=i||de.PROVINCE;break;case I.COLLABORATOR:var _={};a.collaborators.forEach((function(e){_[e.email]=!0})),c.collaborator_email_map=_;break;case I.LINK:var f=l.table_id,E=l.other_table_id,O=l.display_column_key,d=t?t._id:"",T=lr(d,f,E),A=Le(a.tables,T),p=Me(A,O);c.linked_table=A,c.display_column=p;break;case I.FORMULA:case I.LINK_FORMULA:Er(u)&&!i&&(c.count_type=Ee.MONTH)}o.push(c)})),o};function wr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Hr(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?wr(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):wr(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var kr=function(e,r){var t=e&&r.find((function(r){return r.key===e.column_key}));return!!t&&ce.includes(t.type)},Gr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return kr(e,r)})):[]},Xr=function(e,r){var t=[];return e.forEach((function(e){var a=r[e];a>-1&&t.push(a)})),t.sort()},jr=function(e,r){var t=Gr(e,r),a=[];return t.forEach((function(e){var t=e.column_key,n=r.find((function(e){return e.key===t})),o=n.type,i=Hr(Hr({},e),{},{column:n});switch(o){case I.SINGLE_SELECT:case I.MULTIPLE_SELECT:var u=qe(n),s={};u.forEach((function(e,r){s[e.id]=r})),i.option_id_index_map=s}a.push(i)})),a},Kr=function(e,r){return Ir(e.filters,r).length>0},Vr=function(e,r){return Br(e.groupbys,r).length>0},Wr=function(e,r){return Gr(e.sorts,r).length>0},Qr=function(e){return S.includes(fr(e))},qr=function(e){return fr(e)===I.NUMBER},Zr=function(e){return(e||0===e)&&"[object Number]"===Object.prototype.toString.call(e)},$r=function(e,r){return e===r||Math.abs(e-r)<1e-5},zr=function(e,r,t){var a=e.columns.filter((function(e){return Qr(e)}));if(0===a.length)return{};var n=_r(r)?r:Ne(e,r),o={};return a.forEach((function(e){var r,a,i,u=e.type,s=e.key,l=0,c=[],_=0;n.forEach((function(e){var n=e[s];if(ie[u]){var o=t&&t[e._id];n=o&&o[s],Array.isArray(n)&&1===n.length&&(n=n[0])}Zr(n)&&(c.push(n),l+=1,_+=n,r=void 0===r||n<r?n:r,a=void 0===a||n>a?n:a)})),l>0&&(c.sort(),i=c.length%2==0?(c[c.length/2-1]+c[c.length/2])/2:c[parseInt(c.length/2)]);var f=0===l?0:_/l;o[s]={sum:_,average:f,median:i,max:a,min:r}})),o},Jr=function(e,r){var t=e.length,a={};return r.forEach((function(r){var n,o,i,u=[],s=0,l=0;e.forEach((function(e){var t=e.summaries[r.key],a=t.sum,n=t.average,c=t.median,_=t.max,f=t.min;s+=a||0,l+=n||0,Zr(c)&&u.push(c),Zr(_)&&(o=void 0===o||_>o?_:o),Zr(f)&&(i=void 0===i||f<i?f:i)})),u.length>0&&(u.sort(),n=u.length%2==0?(u[u.length/2-1]+u[u.length/2])/2:u[parseInt(u.length/2)]),l/=t,a[r.key]={sum:s,average:l,median:n,max:o,min:i}})),a},et=function(e){var r=e.key,t=e.name,a=e.data.display_column_key;return{key:r,name:t,type:I.LINK_FORMULA,data:{formula:"lookup",link_column_key:r,level1_linked_table_column_key:a,level2_linked_table_column_key:null,operated_columns:[]}}},rt=function(e,r){if(!Array.isArray(e)||!r||!Array.isArray(r.columns))return[];var t={};r.columns.forEach((function(e){var r=e.key,a=e.type;ie[a]?t[r]=e:a===I.LINK&&e.data&&(t[r]=et(e))}));var a={},n=[];e.forEach((function(e){var r=e.key;a[r]||(a[r]=e,n.push(r))}));var o={},i={};n.forEach((function(e){var r=a[e].data.operated_columns;o[e]=0,Array.isArray(r)&&r.forEach((function(r){t[r]&&(o[e]+=1,i[r]?i[r].push(e):i[r]=[e])}))}));var u=[],s=[];for(n.forEach((function(e){0===o[e]&&s.push(e)}));s.length;){var l=s.shift(),c=i[l];u.push(l),Array.isArray(c)&&c.forEach((function(e){o[e]-=1,0===o[e]&&s.push(e)}))}return u.map((function(e){return t[e]}))},tt=function(e){return e.columns.filter((function(e){var r=e.type,t=e.data;return r===I.LINK?!!t:ie[r]&&t})).map((function(e){return e.type===I.LINK?et(e):e}))},at=function(e,r){if(!e&&0!==e)return null;if("number"==typeof e)return e;if("string"!=typeof e)return null;var t,a,n,o,i=parseFloat(e.replace(/[^.-\d]/g,""));return"percent"!==r||isNaN(i)?isNaN(i)?null:i:(a=100,n=Xe(t=i),o=Xe(a),je(n/o,Ge(Math.pow(10,ke(a)-ke(t)))))},nt=function(e,r){return(e||!1)===(r.filter_term||!1)},ot=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case W.HAS_ANY_OF:return!Array.isArray(n)||0===n.length||Array.isArray(e)&&n.some((function(r){return e.includes(r)}));case W.HAS_ALL_OF:return!Array.isArray(n)||0===n.length||Array.isArray(e)&&n.every((function(r){return e.includes(r)}));case W.HAS_NONE_OF:return!Array.isArray(n)||0===n.length||!Array.isArray(e)||0===e.length||n.every((function(r){return e.indexOf(r)<0}));case W.IS_EXACTLY:if(!Array.isArray(n)||0===n.length)return!0;if(!Array.isArray(e)||0===e.length)return!1;var o=D.default(new Set(e));return o.length===n.length&&n.every((function(e){return o.includes(e)}));case W.EMPTY:return!Array.isArray(e)||0===e.length;case W.NOT_EMPTY:return Array.isArray(e)&&e.length>0;case W.INCLUDE_ME:return Array.isArray(e)&&e.indexOf(t)>-1;default:return!1}},it=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case W.CONTAINS:return!Array.isArray(n)||!!e&&n.findIndex((function(r){return r===e}))>-1;case W.NOT_CONTAIN:return!Array.isArray(n)||!e||n.findIndex((function(r){return r===e}))<0;case W.INCLUDE_ME:return e===t;case W.IS:return!n||(Array.isArray(n)?e===n[0]:e===n);case W.IS_NOT:return!n||(Array.isArray(n)?e!==n[0]:e!==n);default:return!1}},ut=function(e,r){var t=r.filter_predicate,a=r.filter_term_modifier,n=r.filter_term,o=r.other_date;switch(t){case W.IS:return a===K.EXACT_DATE&&!n||Se.format(e)===o;case W.IS_WITHIN:if(a===K.EXACT_DATE&&!n)return!0;if(!e)return!1;var i=o.startDate,u=o.endDate,s=Se.format(e);return s>=i&&s<=u;case W.IS_BEFORE:return a===K.EXACT_DATE&&!n||!(!e||!Se.getValidDate(e))&&Se.format(e)<o;case W.IS_AFTER:return a===K.EXACT_DATE&&!n||!(!e||!Se.getValidDate(e))&&Se.format(e)>o;case W.IS_ON_OR_BEFORE:return a===K.EXACT_DATE&&!n||!(!e||!Se.getValidDate(e))&&Se.format(e)<=o;case W.IS_ON_OR_AFTER:return a===K.EXACT_DATE&&!n||!(!e||!Se.getValidDate(e))&&Se.format(e)>=o;case W.IS_NOT:return a===K.EXACT_DATE&&!n||!(!e||!Se.getValidDate(e))&&Se.format(e)!==o;case W.EMPTY:return!(e&&Se.getValidDate(e));case W.NOT_EMPTY:return!(!e||!Se.getValidDate(e));default:return!1}},st=function(e,r){switch(r.filter_predicate){case W.EMPTY:return!e||(!e.username||!e.sign_time||!e.sign_image_url);case W.NOT_EMPTY:return!!e&&!!(e.username&&e.sign_time&&e.sign_image_url);default:return!1}},lt=function(e,r){switch(r.filter_predicate){case W.EMPTY:return!(e&&e.length>0);case W.NOT_EMPTY:return!!(e&&e.length>0);default:return!1}},ct=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case W.EQUAL:return!a&&0!==a||!(!e&&0!==e)&&$r(a,e);case W.NOT_EQUAL:return!a&&0!==a||!e&&0!==e||!$r(a,e);case W.LESS:return!a&&0!==a||!(!e&&0!==e||$r(e,a))&&e<a;case W.GREATER:return!a&&0!==a||!(!e&&0!==e||$r(e,a))&&e>a;case W.LESS_OR_EQUAL:return!a&&0!==a||!(!e&&0!==e)&&(!!$r(e,a)||e<a);case W.GREATER_OR_EQUAL:return!a&&0!==a||!(!e&&0!==e)&&($r(e,a)||e>a);case W.EMPTY:return 0!==e&&(!e||"number"!=typeof e);case W.NOT_EMPTY:return 0===e||!(!e||"number"!=typeof e);default:return!1}},_t=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case W.CONTAINS:return!n||!!e&&e.toString().toLowerCase().indexOf(n.toLowerCase())>-1;case W.NOT_CONTAIN:return!n||!e||e.toString().toLowerCase().indexOf(n.toLowerCase())<0;case W.IS:return!n||e===n;case W.IS_NOT:return!n||e!==n;case W.EMPTY:return!e;case W.NOT_EMPTY:return!!e;case W.IS_CURRENT_USER_ID:return!!t&&e===t;default:return!1}},ft=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case W.HAS_ANY_OF:return 0===a.length||Array.isArray(e)&&e.some((function(e){return a.includes(e)}));case W.HAS_ALL_OF:return 0===a.length||Array.isArray(e)&&a.every((function(r){return e.includes(r)}));case W.HAS_NONE_OF:return 0===a.length||!Array.isArray(e)||0===e.length||a.every((function(r){return e.indexOf(r)<0}));case W.IS_EXACTLY:if(0===a.length)return!0;if(!Array.isArray(e))return!1;var n=function(e){return D.default(new Set(e)).sort()};return n(e).toString()===n(a).toString();case W.EMPTY:return!Array.isArray(e)||0===e.length;case W.NOT_EMPTY:return Array.isArray(e)&&e.length>0;default:return!1}},Et=[!0,"true"],Ot=function(e,r,t){var a=t.username,n=t.userId,o=r.column,i=r.linked_column,u=r.filter_predicate;if(Array.isArray(e)){if(u===W.EMPTY)return 0===e.length;if(u===W.NOT_EMPTY)return e.length>0}if(!i)return _t("",r,n);var s=i.type;if(s===I.BOOL||s===I.CHECKBOX){var l=e;return Array.isArray(e)&&(l=e[0]),l=Et.includes(l),nt(l,r)}if(s===I.SINGLE_SELECT){var c=e;return e&&!Array.isArray(e)&&(c=[e]),ft(c,r)}if(s===I.MULTIPLE_SELECT)return ft(e,r);if(Qr({type:s})){var _=e;if(Array.isArray(e)){var f=e.length;0===f?_="":1===f&&(_=e[0])}return ct(_,r)}if(g.includes(s)){var E=e;return Array.isArray(e)&&(E=String(e)),ut(E,r)}if(h.includes(s))return ot(e,r,a);var O=or(e,o.data)||"";return _t(O,r,n)},dt=function(e,r,t){var a=t.username,n=t.userId,o=r.column.data;switch((o||{}).result_type){case oe.NUMBER:return ct(e,r);case oe.DATE:return ut(e,r);case oe.BOOL:var i=e;return"true"===e?i=!0:"false"===e&&(i=!1),nt(i,r);case oe.ARRAY:return Ot(e,r,{username:a,userId:n});default:return _t(or(e,o)||"",r,n)}},Tt=function(e,r){var t=r.filter_predicate,a=r.filter_term,n=r.column,o=xe(e,n.data);switch(t){case W.CONTAINS:return!a||!!o&&o.toString().toLowerCase().indexOf(a.toLowerCase())>-1;case W.NOT_CONTAIN:return!a||!o||o.toString().toLowerCase().indexOf(a.toLowerCase())<0;case W.IS:return!a||o===a;case W.IS_NOT:return!a||o!==a;case W.EMPTY:return!o;case W.NOT_EMPTY:return!!o;default:return!1}},At=function(e,r){var t=r.filter_predicate,a=e?e.text:null;switch(t){case W.EMPTY:return!a;case W.NOT_EMPTY:return!!a;default:return!1}},pt=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case W.IS:return!a||e===a;case W.IS_NOT:return!a||e!==a;case W.IS_ANY_OF:return 0===a.length||a.includes(e);case W.IS_NONE_OF:return 0===a.length||a.indexOf(e)<0;case W.EMPTY:return!e;case W.NOT_EMPTY:return!!e;default:return!1}},yt=function(e,r,t){var a=t.username,n=t.userId;return Ot(e,r,{username:a,userId:n})},mt=function(e,r,t){var a=t.formulaRow,n=t.username,o=t.userId,i=r.column_key,u=r.column,s=e[i];switch(u.type){case I.CHECKBOX:return nt(s,r);case I.SINGLE_SELECT:return pt(s,r);case I.MULTIPLE_SELECT:return ft(s,r);case I.DURATION:case I.NUMBER:case I.RATE:return ct(s,r);case I.DATE:return ut(s,r);case I.CTIME:case I.MTIME:return s=Se.format(s,U.YYYY_MM_DD_HH_MM_SS),ut(s,r);case I.COLLABORATOR:return ot(s,r,n);case I.LONG_TEXT:return At(s,r);case I.TEXT:case I.AUTO_NUMBER:case I.EMAIL:case I.URL:return _t(s,r,o);case I.IMAGE:case I.FILE:return lt(s,r);case I.LAST_MODIFIER:case I.CREATOR:return it(s,r,n);case I.GEOLOCATION:return Tt(s,r);case I.FORMULA:case I.LINK_FORMULA:return s=a[i],dt(s,r,{username:n,userId:o});case I.LINK:return s=a[i],s=Array.isArray(s)?s.map((function(e){return e.display_value})):null,yt(s,r,{username:n,userId:o});case I.DIGITAL_SIGN:return st(s,r);default:return!1}},Rt=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.formulaRow,o=void 0===n?{}:n,i=a.username,u=void 0===i?"":i,s=a.userId;return r===ae.AND?t.every((function(r){return mt(e,r,{formulaRow:o,username:u,userId:s})})):r===ae.OR&&t.some((function(r){return mt(e,r,{formulaRow:o,username:u,userId:s})}))},Lt=function(e,r,t,a){var n=a.formulaRows,o=a.username,i=a.userId,u=[],s=hr(r);return t.forEach((function(r){var t=r._id,a=n&&n[t]?n[t]:{};Rt(r,e,s,{formulaRow:a,username:o,userId:i})&&u.push(t)})),u},Mt=function(e,r,t){var a=e?1:-1,n=r?1:-1;return a>n?t===le.UP?1:-1:a<n?t===le.UP?-1:1:0},Nt=function(e,r){if(!e&&!r)return 0;if(!e)return-1;if(!r)return 1;if("string"!=typeof e||"string"!=typeof r)return 0;for(var t,a,n=e.match(pe),o=r.match(pe),i=Math.min(n.length,o.length),u=0;u<i;u++){if(t=n[u],a=o[u],ye.test(t)&&ye.test(a)){if((t=parseInt(t))>(a=parseInt(a)))return 1;if(t<a)return-1}if(t!==a)return e.localeCompare(r)}return e.localeCompare(r)},Dt=function(e,r,t){var a=!e,n=!r;return a&&n?0:a?1:n?-1:r===e?0:t===le.UP?Nt(e,r):-1*Nt(e,r)},Ct=function(e,r,t){var a=Array.isArray(e)&&e.length?e.join(""):null,n=Array.isArray(r)&&r.length?r.join(""):null;return Dt(a,n,t)},It=function(e,r,t){var a=!e,n=!r;return a&&n?0:a?1:n?-1:e>r?t===le.UP?1:-1:e<r?t===le.UP?-1:1:0},Ft=function(e,r,t){var a=!e&&0!==e,n=!r&&0!==r;return a&&n?0:a?1:n?-1:e>r?t===le.UP?1:-1:e<r?t===le.UP?-1:1:0},vt=function(e,r,t,a){var n=a.columnData,o=a.value,i=(n||{}).array_type;if(S.includes(i)){var u=e,s=r;return Array.isArray(e)&&(u=e[0]),Array.isArray(r)&&(s=r[0]),Ft(u=u||0===u?u:null,s=s||0===s?s:null,t)}if(g.includes(i)){var l=Array.isArray(e)?e[0]:e,c=Array.isArray(r)?r[0]:r;return It(l,c,t)}if(i===I.CHECKBOX||i===oe.BOOL){var _=e,f=r;return Array.isArray(e)&&(_=e[0]),Array.isArray(r)&&(f=r[0]),Mt(_=_||!1,f=f||!1,t)}if(i===I.COLLABORATOR){var E=o.collaborators,O=Array.isArray(e)?e:[e],d=Array.isArray(r)?r:[r];return E&&(O=he(O,E),d=he(d,E)),Ct(O,d,t)}var T=or(e,n),A=or(r,n);return Dt(T,A,t)},gt=function(e,r,t,a){var n=a.columnData,o=a.value,i=(n||{}).result_type;if(fe.includes(i))return Ft(e||0===e?e-0:null,r||0===r?r-0:null,t);if(g.includes(i))return It(e,r,t);if(i===oe.BOOL)return Mt(e||!1,r||!1,t);if(i===oe.ARRAY)return vt(e,r,t,{columnData:n,value:o});var u=or(e,n),s=or(r,n);return Dt(u,s,t)},St=function(e,r,t,a){var n=a.columnData,o=a.value,i=!Array.isArray(e)||0===e.length,u=!Array.isArray(r)||0===r.length;if(i&&u)return 0;if(i)return 1;if(u)return-1;var s=e.map((function(e){return e.display_value})),l=r.map((function(e){return e.display_value}));return vt(s,l,t,{columnData:n,value:o})},ht=function(e,r,t){var a=t.sort_type,n=t.option_id_index_map,o=!e||0===e.length,i=!r||0===r.length;if(o&&i)return 0;if(o)return 1;if(i)return-1;var u=Xr(e,n),s=Xr(r,n),l=u.length,c=s.length;if(l===c&&(0===l||u.join("")===s.join("")))return 0;for(var _=Math.min(l,c),f=0;f<_;f++){if(u[f]>s[f])return a===le.UP?1:-1;if(u[f]<s[f])return a===le.UP?-1:1}return l>c?a===le.UP?1:-1:a===le.UP?-1:1},bt=function(e,r,t){var a=t.sort_type,n=t.option_id_index_map,o=n[e],i=n[r],u=!o&&0!==o,s=!i&&0!==i;return u&&s?0:u?1:s?-1:o>i?a===le.UP?1:-1:o<i?a===le.UP?-1:1:0},Yt=function(e,r,t){var a=t.formulaRows,n=void 0===a?{}:a,o=t.value;e.sort((function(e,t){var a=0;return r.forEach((function(r){var i=r.column_key,u=r.sort_type,s=r.column,l=s.type,c=s.data,_=e[i],f=t[i];if(g.includes(l))a=a||It(_,f,u);else if(l===I.SINGLE_SELECT)a=a||bt(_,f,r);else if(fe.includes(l))a=a||Ft(_,f,u);else if(ie[l]){var E=n[e._id]||{},O=n[t._id]||{};_=E[i],f=O[i],a=a||gt(_,f,u,{columnData:c,value:o})}else if(l===I.COLLABORATOR){var d=o.collaborators,T=_,A=f;d&&(T=he(_,d),A=he(f,d)),a=a||Ct(T,A,u)}else if(l===I.CHECKBOX)a=a||Mt(_,f,u);else if(l===I.MULTIPLE_SELECT)a=a||ht(_,f,r);else if(l===I.LINK){var p=n[e._id]||{},y=n[t._id]||{};_=p[i],f=y[i],a=a||St(_,f,u,{columnData:c,value:o})}else a=a||Dt(_,f,u)})),a}))},Ut=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.formulaRows,o=a.value;if(!Array.isArray(r)||0===r.length)return[];var i=r.slice(0),u=jr(e,t);return Yt(i,u,{formulaRows:n||{},value:o}),i.map((function(e){return e._id}))};function Pt(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Bt(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Pt(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Pt(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var xt=function(e,r,t){var a=t.column_key,n=t.column,o=e[a],i=n.type;return ie[i]?(r[e._id]||{})[a]:i===I.LINK?(r[e._id]||{})[a]||[]:o},wt=function(e,r){var t=r.column,a=r.count_type,n=t.type,o=t.data;switch(n){case I.TEXT:case I.URL:case I.EMAIL:case I.LAST_MODIFIER:case I.CREATOR:return e||null;case I.DATE:case I.CTIME:case I.MTIME:return Se.getDateByGranularity(e,a)||null;case I.NUMBER:case I.DURATION:case I.RATE:return e||0===e?e:null;case I.CHECKBOX:return!!e;case I.SINGLE_SELECT:return e||null;case I.MULTIPLE_SELECT:return Array.isArray(e)?e:[];case I.COLLABORATOR:if(!Array.isArray(e))return[];var i=r.collaborator_email_map;return e.filter((function(e){return i[e]}));case I.GEOLOCATION:return we(e,a);case I.FORMULA:case I.LINK_FORMULA:var u=(o||{}).result_type;if(u===oe.NUMBER)return e||0===e?e:null;if(u===oe.DATE)return Se.getDateByGranularity(e,a)||null;if(u===oe.BOOL)return!!e;if(u===oe.ARRAY){var s=e;return Er(t)&&Array.isArray(e)&&e.length>0?Se.getDateByGranularity(e[0],a)||null:or(s,o)||null}return e||null;case I.LINK:return Array.isArray(e)&&0!==e.length?e.map((function(e){return e.display_value})):[];default:return null}},Ht=function(e,r){var t=null;return j[r]?t="string"==typeof e?e:String(e):X[r]&&(t=D.default(e).sort().toString()),t},kt=function(e,r,t){var a=r[e];return a&&a.index>-1?a.index:(r[e]={},r[e].subgroups={},r[e].index=t,-1)},Gt=function e(r,t,a,n){var o=t[n],i=o.column,u=o.sort_type,s=a.collaborators,l=i.type,c=i.data,_=u||le.UP,f={};if(l===I.SINGLE_SELECT||l===I.MULTIPLE_SELECT){var E=(c||{}).options;Array.isArray(E)&&E.forEach((function(e,r){f[e.id]=r}))}if(r.sort((function(e,r){var t=e.cell_value,n=r.cell_value;if(ce.includes(l)){var o;if(_e.includes(l))o=Dt(t,n,_);else if(fe.includes(l))o=Ft(t,n,_);else if(g.includes(l))o=It(t,n,_);else if(l===I.CHECKBOX)o=Mt(t,n,_);else if(l===I.COLLABORATOR){var i=t,u=n;s&&(i=he(i,s),u=he(u,s)),o=Ct(i,u,_)}else if(l===I.SINGLE_SELECT)o=bt(t,n,{sort_type:_,option_id_index_map:f});else if(l===I.MULTIPLE_SELECT)o=ht(t,n,{sort_type:_,option_id_index_map:f});else if(ie[l]){var E=e.original_cell_value,O=r.original_cell_value;o=gt(E,O,_,{columnData:c,value:a})}else if(l===I.LINK){var d=e.original_cell_value,T=r.original_cell_value;o=St(d,T,_,{columnData:c,value:a})}return o}return""===t?1:""===n?-1:0})),Array.isArray(r[0].subgroups)&&r[0].subgroups.length>0){var O=n+1;r=r.map((function(r){var n=e(r.subgroups,t,a,O);return Bt(Bt({},r),{},{subgroups:n})}))}return r},Xt=function(e,r,t,a){if(0===e.length)return[];if(e.length>1)return function(e,r,t,a){var n=e.length>3?e.slice(0,3):D.default(e),o=[],i={};return r.forEach((function(e){for(var r,a,u=e._id,s=0;s<n.length;s++){var l=n[s],c=l.column,_=l.column_key,f=c.type,E=xt(e,t,l),O=wt(E,l),d=Ht(O,f),T={cell_value:O,original_cell_value:E,row_ids:null,column_key:_,subgroups:[],summaries:{}};if(0===s){var A=kt(d,i,o.length);a=i[d].subgroups,A<0?(o.push(T),r=o[o.length-1]):r=o[A]}else{var p=kt(d,a,r.subgroups.length);a=a[d].subgroups,p<0?(r.subgroups.push(T),r=r.subgroups[r.subgroups.length-1]):r=r.subgroups[p],s===n.length-1&&(r.row_ids?r.row_ids.push(u):r.row_ids=[u])}}})),o=Gt(o,n,a,0)}(e,r,t,a);var n=e[0],o=n.column_key,i=n.column.type,u=[],s={};return r.forEach((function(e){var r=xt(e,t,n),a=wt(r,n),l=function(e,r,t){var a=r[e];return a>-1?a:(r[e]=t,-1)}(Ht(a,i),s,u.length);l>-1?u[l].row_ids.push(e._id):u.push({cell_value:a,original_cell_value:r,column_key:o,row_ids:[e._id],subgroups:null,summaries:{}})})),u=Gt(u,e,a,0)},jt=function(e,r,t,a,n){if(0===t.length)return[];var o=Ne(r,t);return Xt(e,o,a,n)},Kt=function(){function e(r){var t=r.colorType,a=r.max,n=r.min;L.default(this,e);var o=me[t||"color_gradation_1"];this.startColor=this.hexToRgb(o[0]),this.endColor=this.hexToRgb(o[4]),this.min=n,this.max=a,this.computeMap={}}return M.default(e,[{key:"hexToRgb",value:function(e){var r=e.toLowerCase();if(r&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r)){if(4===r.length){for(var t="#",a=1;a<4;a+=1)t+=r.slice(a,a+1).concat(r.slice(a,a+1));r=t}for(var n=[],o=1;o<7;o+=2)n.push(parseInt("0x".concat(r.slice(o,o+2))));return"RGB(".concat(n.join(","),")")}return r}},{key:"getColorGradation",value:function(e,r,t,a,n){var o=e.split(","),i=parseInt(o[0].split("(")[1]),u=parseInt(o[1]),s=parseInt(o[2].split(")")[0]),l=r.split(","),c=parseInt(l[0].split("(")[1]),_=parseInt(l[1]),f=parseInt(l[2].split(")")[0]),E=Math.round(i-(i-c)/(t-a)*(t-n)),O=Math.round(u-(u-_)/(t-a)*(t-n)),d=Math.round(s-(s-f)/(t-a)*(t-n));return"rgb(".concat(E,", ").concat(O,", ").concat(d,")")}},{key:"getCellColor",value:function(e){if(this.computeMap[e])return this.computeMap[e];if(e==this.min)return this.computeMap[e]?this.computeMap[e]=this.startColor:this.computeMap=m.default({},e,this.startColor),this.computeMap[e];if(e==this.max)return this.computeMap[e]?this.computeMap[e]=this.endColor:this.computeMap=m.default({},e,this.endColor),this.computeMap[e];if(e>this.min&&e<this.max){var r=this.startColor,t=this.endColor,a=this.min,n=this.max,o=this.getColorGradation(r,t,a,n,e);return this.computeMap[e]=o,this.computeMap[e]}return null}}]),e}(),Vt="by_column",Wt="by_rules",Qt="by_duplicate_values",qt=[I.TEXT,I.NUMBER,I.DATE,I.DURATION,I.EMAIL,I.URL,I.RATE,I.CHECKBOX,I.COLLABORATOR,I.SINGLE_SELECT,I.MULTIPLE_SELECT,I.GEOLOCATION,I.FORMULA,I.CREATOR,I.LAST_MODIFIER],Zt="#F4667C";function $t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function zt(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?$t(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):$t(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Jt=function(e,r){var t=e.filters;return!(!t||0===t.length)&&t.some((function(e){return!Mr.validate(e,r).error_message}))},ea=function(e,r){return e.filter((function(e){return Jt(e,r)}))},ra=function(e,r,t){for(var a=t.collaborators,n=[],o=function(){var t=r[i],o=e.find((function(e){return e.key===t}));if(!o)return"continue";var u=o.type,s=o.data;if(!qt.includes(u))return"continue";if(u===I.SINGLE_SELECT||u===I.MULTIPLE_SELECT)s=function(e){if(!Array.isArray(e)||0===e.length)return{};var r={};return e.forEach((function(e){r[e.id]=!0})),r}(qe(o));else if(u===I.COLLABORATOR){var l={};Array.isArray(a)&&a.forEach((function(e){l[e.email]=!0})),s=l}n.push({key:t,type:u,data:s})},i=0;i<r.length;i++)o();return n},ta=function(e,r,t){if(!e)return"";var a=r.map((function(r){var a=r.type,n=r.data,o=r.key,i=e[o];switch(a){case I.SINGLE_SELECT:return n[i]?i:"";case I.MULTIPLE_SELECT:case I.COLLABORATOR:return Array.isArray(i)&&0!==i.length?i.filter((function(e){return n[e]})).sort().join(""):"";case I.GEOLOCATION:return i&&xe(i,n)||"";case I.NUMBER:return i||0===i?i:"";case I.FORMULA:return t?i=t[o]:"";default:return i||""}})).join("_seatable_join_key_");return a?("function"!=typeof"".replaceAll&&(String.prototype.replaceAll=function(e,r){return this.replace(new RegExp(e,"gm"),r)}),a.replaceAll("_seatable_join_key_","")?a:""):""},aa=function(e,r,t){var a={},n=Me(t,r),o=qe(n);if(!Array.isArray(o)||0===o.length)return{};var i={};return o.forEach((function(e){i[e.id]=e.color})),e.forEach((function(e){var t=e[r],n=t?i[t]:"";n&&(a[e._id]=n)})),a},na=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.username,o=a.userId,i=r.formula_rows,u=r.colorbys||{},s=u.type,l=u.color_by_rules;if(s!==Wt)return{};var c=t.columns,_=ea(l,c),f=_.length,E={};return 0===f?{}:(_=_.map((function(e){var r,t=e.filters;try{r=br(t,c)}catch(e){r=[]}return r=hr(r),zt(zt({},e),{},{filters:r})})),e.forEach((function(e){for(var r=e._id,t=i&&i[r]||{},a=0;a<f;a++){var u=_[a],s=u.color,l=u.filter_conjunction,c=u.filters;if(Rt(e,l,c,{formulaRow:t,username:n,userId:o})){E[r]=s;break}}})),E)},oa=function(e,r,t,a){var n=a.collaborators,o=r.colorbys,i=r.formula_rows,u=o.color_by_duplicate_column_keys;if(!Array.isArray(u)||0===u.length)return{};var s=t.columns,l=ra(s,u,{collaborators:n});if(0===l.length)return{};for(var c={},_={},f=0;f<e.length;f++){var E=e[f],O=E._id,d=i&&i[O],T=ta(E,l,d);if(T){var A=_[T];if(A&&A.length>0){c[O]=Zt,A.push(O);var p=A[0];c[p]||(c[p]=Zt)}else _[T]=[O]}}return{colors:c,duplicate_rows_ids_map:_}},ia={isValidRowColorRule:Jt,getValidRowColorRules:ea,getRowsColor:function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=n.username,i=n.userId,u=r.colorbys;if(!u)return{};var s=_r(e)?e:Ne(t,e);if(0===s.length)return{};var l=u.type,c=u.color_by_column;switch(l){case Vt:return{colors:aa(s,c,t)};case Wt:return{colors:na(s,r,t,{username:o,userId:i})};case Qt:var _=(a||{}).collaborators;return oa(s,r,t,{collaborators:void 0===_?[]:_});default:return{}}},getFormattedDuplicateColumns:ra,getDuplicateRowValue:ta,getRowsColorBySingleSelectColumn:aa,getRowsColorByRules:na,getRowsColorByDuplicateValues:oa};function ua(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function sa(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ua(Object(t),!0).forEach((function(r){m.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ua(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var la=[I.LINK,I.FORMULA,I.LINK_FORMULA],ca="by_rules",_a="by_numeric_range",fa="by_repeat_value",Ea=function(e){var r=e&&e.colorbys;if(!r)return!1;var t=r.type,a=r.color_by_rules,n=r.range_settings,o=r.repeat_value_settings;return t===ca?a&&Array.isArray(a)&&a.length>0:t===fa?o:n&&Object.keys(n).length>0},Oa=function(e){var r=[e],t=e.colorbys,a=t.type,n=t.color_by_rules;return a===ca?n.some((function(e){var t=e.filters;return 0!==t.length&&t.some((function(e){return!Mr.validate(e,r).error_message}))})):a===fa||a===_a&&qr(e)},da=function(e){var r=e.filter((function(e){return Ea(e)}));if(0===r.length)return[];var t=r.filter((function(e){return Oa(e)}));return 0===t.length?[]:t},Ta=function(e,r,t,a,n){var o=n.username,i=n.userId,u={column_key:e.key,filter_predicate:"is_not_empty",filter_term:"",column:e},s=r.formula_rows,l=Lt(ae.AND,[u],t.rows,{formulaRows:s,username:o,userId:i}),c={sort_type:"up",column_key:e.key},_=Ne(t,l),f=Ut([c],_,[e],{formulaRows:s,value:a});return Ne(t,f)},Aa=function(e,r,t){var a=r.key,n=r.type,o=e[a];if(la.includes(n)){var i=t&&t[e._id]||{};if(I.LINK===n){var u=i[a]&&Array.isArray(i[a])?i[a]:[],s=(u.length>0?u[0]:{}).display_value;o=void 0===s?null:s}else{var l=i[a];o=Array.isArray(l)?l[0]:l}}return o},pa=function(e,r,t,a,n,o){var i=o.username,u=o.userId,s=C.default(e),l=s.colorbys,c=l.type,_=l.color_by_rules,f=l.range_settings,E=l.repeat_value_settings,O=l.duplicate_column_key;if(c===ca){var d=_.map((function(r){var t=r.filters,a=[];try{a=br(t,[e])}catch(e){a=[]}return a=hr(a),sa(sa({},r),{},{filters:a})}));return s.colorbys=sa(sa({},l),{},{color_by_rules:d}),s}if(c===fa){for(var T=(a||{}).collaborators,A=ia.getFormattedDuplicateColumns([s],[O],{collaborators:void 0===T?[]:T}),p={},y=r.formula_rows,m=0;m<n.length;m++){var R=n[m],L=R._id,M=y&&y[L],N=ia.getDuplicateRowValue(R,A,M);if(N){var D=p[N];D&&D.length>0?D.push(L):p[N]=[L]}}return s.duplicate_rows_ids_map=p,s.colorbys=sa(sa({},l),{},{repeat_value_settings:E}),s}if(!qr(e))return s.gradientColorUtils=null,s.colorbys=sa(sa({},l),{},{range_settings:{}}),s;var I=f.color_type,F=f.is_custom_start_value,v=f.is_custom_end_value,g=f.start_value,S=f.end_value,h=g,b=S;if((!F||!v)&&t.rows.length>0){var Y=Ta(e,r,t,a,{username:i,userId:u}),U=r.formula_rows;if(Y.length>0){var P=Y[0],B=Y[Y.length-1],x=Aa(P,e,U),w=Aa(B,e,U);h=F?g:x,b=v?S:w}}var H=new Kt({colorType:I,min:h,max:b});return s.gradientColorUtils=H,s},ya=function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=n.username,i=void 0===o?"":o,u=n.userId,s=void 0===u?"":u,l=t.columns,c=da(l);if(0===c.length)return{};c=c.map((function(n){return pa(n,r,t,a,e,{username:i,userId:s})}));for(var _={},f=r.formula_rows,E=_r(e)?e:Ne(t,e),O=E.length,d=function(){for(var e=E[T],r={},t=e._id,n=f&&f[t]||{},o=0;o<c.length;o++){var u=c[o],l=u.key,O=u.colorbys,d=u.duplicate_rows_ids_map,A=void 0===d?{}:d,p=O.type,y=O.color_by_rules,m=O.range_settings,R=O.repeat_value_settings,L=O.duplicate_column_key;if(p===ca)for(var M=0;M<y.length;M++){var N=y[M],D=N.filter_conjunction,C=N.filters,I=N.color;if(Rt(e,D,C,{formulaRow:n,username:i,userId:s})){r[l]=I;break}}if(p===fa){var F=R.color,v=(a||{}).collaborators,g=ia.getFormattedDuplicateColumns([u],[L],{collaborators:void 0===v?[]:v}),S=ia.getDuplicateRowValue(e,g,n);if(!S)continue;var h=A[S];if(h&&h.length>1)if(h.some((function(e){return e===t}))){r[l]=F;var b=h[0];_[b]||(_[b]=r)}}if(p===_a){if(0===Object.keys(m).length)break;var Y=Aa(e,u,f);if(Y||0===Y){var U=u.gradientColorUtils.getCellColor(Y);U&&(r[l]=U)}}}Object.keys(r).length>0&&(_[t]=r)},T=0;T<O;T++)d();return _},ma={isColumnHasColorRules:Ea,hasRelatedColumnColorRule:function(e,r){return e.some((function(e){return r[e.key]&&Ea(e)}))},isColumnColorRulesValid:Oa,isColumnColorsView:function(e){return e.some((function(e){return!!Ea(e)&&!!Oa(e)}))},getValidRulesColumns:da,getSortedViewRows:Ta,getCellValue:Aa,getFormattedColumn:pa,getColumnColors:ya,updateColumnColorsByUpdateRows:function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=n.username,i=void 0===o?"":o,u=n.userId,s=void 0===u?"":u,l=t.columns,c=da(l);if(0===c.length)return{};var _=c.some((function(e){return e.colorbys.type===_a})),f=c.some((function(e){return e.colorbys.type===fa}));if(_||f)return r.column_colors=ya(t.rows,r,t,a,{username:i,userId:s}),r.column_colors;var E=_r(e)?e:Ne(t,e),O=ya(E,r,t,a,{username:i,userId:s}),d=r.column_colors;return d||(d={},r.column_colors=d),E.forEach((function(e){var r=e._id,t=O[r];d[r]=t})),r.column_colors}};exports.COLLABORATOR_COLUMN_TYPES=h,exports.COLOR_GRADATION_OPTIONS=me,exports.COLUMNS_ICON_CONFIG=F,exports.COLUMN_OPTIONS=v,exports.COLUMN_PERMISSION_TYPE={NONE:"none",ADMINS:"admins",SPECIFIC_USERS:"specific_users"},exports.CellType=I,exports.ColumnColorUtils=ma,exports.DATE_COLUMN_OPTIONS=g,exports.DATE_DEFAULT_TYPES={SPECIFIC_DATE:"specific_date",CURRENT_DATE:"current_date",DAYS_BEFORE:"days_before",DAYS_AFTER:"days_after"},exports.DATE_FORMAT_MAP=U,exports.DATE_UNIT=Y,exports.DEFAULT_DATE_FORMAT=b,exports.DEFAULT_NUMBER_FORMAT=H,exports.DISPLAY_GROUP_DATE_GRANULARITY=Oe,exports.DISPLAY_GROUP_GEOLOCATION_GRANULARITY=Te,exports.DISPLAY_INTERNAL_ERRORS=ue,exports.DURATION_DECIMAL_DIGITS=x,exports.DURATION_FORMATS=B,exports.DURATION_FORMATS_MAP=P,exports.DURATION_ZERO_DISPLAY=w,exports.DateUtils=Se,exports.FILL_DEFAULT_VALUE_COLUMNS_TYPE=k,exports.FILTER_COLUMN_OPTIONS=ee,exports.FILTER_CONJUNCTION_TYPE=ae,exports.FILTER_ERR_MSG=ne,exports.FILTER_PREDICATE_SHOW=Q,exports.FILTER_PREDICATE_TYPE=W,exports.FILTER_TERM_MODIFIER_SHOW=V,exports.FILTER_TERM_MODIFIER_TYPE=K,exports.FORMULA_COLUMN_TYPES_MAP=ie,exports.FORMULA_RESULT_TYPE=oe,exports.GROUP_DATE_GRANULARITY=Ee,exports.GROUP_GEOLOCATION_GRANULARITY=de,exports.GradientColorUtils=Kt,exports.HEADER_HEIGHT_TYPE={DEFAULT:"default",DOUBLE:"double"},exports.HIGHLIGHT_COLORS={"#FFE8E6":"#FF6052","#FFDED5":"#FF714A","#FFE7D1":"#FF851A","#EED5FF":"#B64DFD","#DAD7FF":"#5F4CFF","#D7E8FF":"#3C8FFF","#D8FAFF":"#41E7FF","#DDFFE6":"#16BA51","#E9E9E9":"#999999","#FBD44A":"#E5C142","#EAA775":"#D59361","#F4667C":"#DC556A","#DC82D2":"#D166C5","#9860E5":"#844BD2","#9F8CF1":"#8F75E2","#59CB74":"#4EB867","#ADDF84":"#9CCF72","#89D2EA":"#7BC0D6","#4ECCCB":"#45BAB9","#46A1FD":"#3C8FE4","#C2C2C2":"#ADADAD","#FFFCB5":"#E8E79D","#FFEAB6":"#ECD084","#FFD9C8":"#EFBAA3","#FFDDE5":"#EDC4C1","#FFD4FF":"#E6B6E6","#DEF7C4":"#C5EB9E","#B7CEF9":"#96B2E1"},exports.MAX_GROUP_LEVEL=3,exports.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP=X,exports.NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP=G,exports.NUMBER_SORTER_COLUMN_TYPES=fe,exports.NUMERIC_COLUMNS_TYPES=S,exports.REG_NUMBER_DIGIT=ye,exports.REG_STRING_NUMBER_PARTS=pe,exports.RowColorUtils=ia,exports.SELECT_OPTION_COLORS=se,exports.SINGLE_CELL_VALUE_COLUMN_TYPE_MAP=j,exports.SORT_COLUMN_OPTIONS=ce,exports.SORT_TYPE=le,exports.SUPPORT_GROUP_COLUMN_TYPES=Ae,exports.TEXT_SORTER_COLUMN_TYPES=_e,exports.UTC_FORMAT_DEFAULT="YYYY-MM-DDTHH:mm:ss.SSSZ",exports.ValidateFilter=Mr,exports.checkboxFilter=nt,exports.collaboratorFilter=ot,exports.compareString=Nt,exports.convertRow=function(e,r,t,a,n,o){var i=(arguments.length>6&&void 0!==arguments[6]?arguments[6]:{}).debug,u={};e.hasOwnProperty("_id")&&(u._id=e._id),e.hasOwnProperty("_mtime")&&(u._mtime=e._mtime),e.hasOwnProperty("_ctime")&&(u._ctime=e._ctime);var s=t.columns;s.length>500&&(s=s.slice(0,500));for(var l=a?a.hidden_columns:null,c=0;c<s.length;c++){var _=s[c],f=_.key,E=_.type,O=_.name;if(!l||!l.includes(f)){var d=e[f];switch(E){case I.SINGLE_SELECT:if(!_.data){i&&i("No options found");break}u[O]=er(_,d);break;case I.MULTIPLE_SELECT:if(!_.data){i&&i("No options found");break}if(!Array.isArray(d)){u[O]="";break}for(var T=[],A=0;A<d.length;A++){var p=er(_,d[A]);p&&T.push(p)}u[O]=T;break;case I.LONG_TEXT:u[O]=d?d.text:"";break;case I.LINK:if(!_.data){i&&i("No links found");break}if(o){var y=n&&n[e._id],m=y&&y[f];if(!Array.isArray(m)||0===m.length){u[O]=null;break}u[O]=m;break}var R=t._id,L=_.data,M=L.link_id,N=L.table_id,D=L.other_table_id,C=R===N?D:N,F=r.links;u[O]=cr(F,M,R,C,e._id);break;case I.FORMULA:case I.LINK_FORMULA:if(!_.data||!n){i&&i("No formula found");break}var v=n[e._id]||{};u[O]=or(v[f],_.data);break;default:u[O]=d}Re(u[O])&&delete u[O]}}return u},exports.createOption=$e,exports.creatorFilter=it,exports.dateFilter=ut,exports.deleteInvalidFilter=br,exports.deleteInvalidGroupby=xr,exports.deleteInvalidSort=jr,exports.digitalSignFilter=st,exports.fileFilter=lt,exports.filterRow=Rt,exports.filterRows=Lt,exports.filterTermModifierIsWithin=te,exports.filterTermModifierNotWithin=re,exports.formatDurationToNumber=function(e,r){if(0===e)return 0;if(!e)return null;var t=(r||{}).duration_format;if(t=t||P.H_MM,B.findIndex((function(e){return e.type===t}))<0)return null;var a=e-0;if(Zr(a))return t===P.H_MM?60*a:a;var n=String(e),o="-"===n[0];o&&(n=n.substring(1));var i,u,s,l=n.split(/[::]/),c=l.length;t===P.H_MM?(i=c-2,u=c-1):(i=c-3,u=c-2,s=c-1);var _=l[i]-0,f=l[u]-0,E=l[s]-0;if(!Zr(_)&&!Zr(f)&&!Zr(E))return null;var O=3600*(_=Zr(_)?_:0)+60*(f=Zr(f)?f:0)+(E=Zr(E)?E:0);return o?-O:O},exports.formatStringToNumber=function(e,r){var t=r||{},a=t.format,n=t.decimal,o=t.thousands,i=t.enable_precision,u=t.precision,s=e;if(n&&o&&"comma"===n&&(s="dot"===o?(s=(s=s.replace(/,/,"@")).replace(/\./g,",")).replace(/@/,"."):(s=s.replace(/\./g,"")).replace(/,/,".")),s=at(s,a),i&&s){var l="percent"===a?u+2:u;s=Number(parseFloat(s).toFixed(l))}return s},exports.formatTextToDate=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD";if("string"!=typeof e||!e.trim())return null;var t={};return t=/^[0-9]+$/.test(e)?new Date(at(e)):Se.parseDateWithFormat(e,r),r.indexOf("HH:mm")<0?Se.format(t,"YYYY-MM-DD")||null:Se.format(t,"YYYY-MM-DD HH:MM")||null},exports.formulaFilter=dt,exports.generateOptionID=Ze,exports.generatorBase64Code=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,r="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789",t="",a=0;a<e;a++)t+=r.charAt(Math.floor(72*Math.random()));return t},exports.generatorCellOption=function(e,r){var t=e.find((function(e){return e.name===r}));if(t)return{selectedOptionId:t.id};var a=$e(e,r)||{};return{cellOption:a,selectedOptionId:a.id}},exports.generatorCellOptions=function(e,r){var t=[],a=[];return r.forEach((function(r){var n=e.find((function(e){return e.name===r}));if(n)a.push(n.id);else{var o=$e(e,r);o&&(t.push(o),a.push(o.id))}})),0===t.length?{selectedOptionIds:a}:{cellOptions:t,selectedOptionIds:a}},exports.geolocationFilter=Tt,exports.getCellValueDisplayString=ir,exports.getCellValueStringResult=ur,exports.getCollaborator=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e.email===r})):null},exports.getCollaboratorsName=be,exports.getCollaboratorsNames=he,exports.getColumnOptionNameById=er,exports.getColumnOptions=qe,exports.getDateDisplayString=Ye,exports.getDepartmentName=tr,exports.getDigitalSignImageUrl=Ue,exports.getDurationDisplayString=Pe,exports.getFilteredRowsWithoutFormulaCalculation=function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=n.formulaRows,i=void 0===o?null:o,u=n.username,s=void 0===u?null:u,l=n.userId,c=void 0===l?null:l,_=a.columns,f=[];try{f=br(r,_)}catch(e){return{row_ids:[],error_message:e.message}}return{row_ids:0===f.length?t.map((function(e){return e._id})):Lt(e,f,t,{formulaRows:i,username:s,userId:c}),error_message:null}},exports.getFloatNumber=at,exports.getFormattedFilter=Sr,exports.getFormattedFilterOtherDate=gr,exports.getFormattedFilters=hr,exports.getFormulaColumnsContainLinks=tt,exports.getFormulaDisplayString=or,exports.getGeolocationByGranularity=we,exports.getGeolocationDisplayString=xe,exports.getGroupByPath=function(e,r){if(!Array.isArray(e)||!Array.isArray(r))return null;var t=e[0];if(t<0||t>=r.length)return null;for(var a=1,n=r[t];a<e.length&&n;){var o=n.subgroups,i=e[a];if(!Array.isArray(o)||i<0||i>=o.length)break;n=o[i],a+=1}return n},exports.getGroupedRowsWithoutFormulaCalculation=function(e,r,t,a){var n=(arguments.length>4&&void 0!==arguments[4]?arguments[4]:{}).formulaRows,o=void 0===n?null:n,i=t.columns,u=xr(e,i,t,a);return _r(r)?Xt(u,r,o,a):jt(u,t,r,o,a)},exports.getLinkById=sr,exports.getLinkCellValue=cr,exports.getLinkColumnsUsedInFilters=function(e,r){var t=e.filters,a=e.sorts,n=e.groupbys,o=r.columns;if(!Array.isArray(o))return[];var i=Fr(t,o),u=Gr(a,o),s=Br(n,o),l=i&&i.length>0,c=u&&u.length>0,_=s&&s.length>0;if(!l&&!c&&!_)return[];var f={},E={},O=[];return o.forEach((function(e){var r=e.key,t=e.name,a=e.type,n=e.data,o=e.width;a===I.LINK&&(f[e.key]={key:r,name:t,type:a,data:n,width:o})})),0===Object.keys(f).length?[]:(l&&i.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),c&&u.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),_&&s.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),O)},exports.getLinkTableID=function(e,r,t){return e===r?r:t},exports.getLinkedTableID=lr,exports.getLongtextDisplayString=He,exports.getMultipleIndexesOrderbyOptions=Xr,exports.getMultipleOptionName=rr,exports.getNumberDisplayString=Qe,exports.getOption=ze,exports.getOptionName=Je,exports.getPrecisionNumber=function(e,r){var t=r||{},a=t.precision,n=void 0===a?2:a,o=t.enable_precision,i=void 0!==o&&o,u=Object.prototype.toString.call(e);if("[object Number]"!==u)return"[object String]"===u&&ue.includes(e)?e:null;var s=i?n:function(e){if(Number.isInteger(e))return 0;var r=String(e).split("."),t=r[1]?r[1].length:8;return t>8?8:t}(e);return e.toFixed(s)},exports.getRateDisplayString=function(e){return e?String(e):""},exports.getRowById=function(e,r){return e&&e.id_row_map&&r?e.id_row_map[r]:null},exports.getRowsByIds=Ne,exports.getSortedFormulaColumns=rt,exports.getSortedFormulaColumnsContainLinks=function(e){var r=tt(e);return 0===r.length?[]:rt(r,e)},exports.getSummaries=zr,exports.getSummariesWithSubgroups=Jr,exports.getTableById=Le,exports.getTableColumnByKey=Me,exports.getTableColumnByName=function(e,r){return e&&Array.isArray(e.columns)&&r?e.columns.find((function(e){return e.name===r})):null},exports.getValidFilters=Ir,exports.getValidFiltersWithoutError=Fr,exports.getValidGroupbys=Br,exports.getValidSorts=Gr,exports.getViewById=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},exports.groupTableRows=Xt,exports.groupViewRows=jt,exports.isDateColumn=Er,exports.isDefaultView=function(e,r){return!Kr(e,r)&&!Wr(e,r)&&!Vr(e,r)},exports.isEmpty=Re,exports.isEmptyObject=function(e){var r;for(r in e)return!1;return!0},exports.isFilterView=Kr,exports.isGroupView=Vr,exports.isNumber=Zr,exports.isNumberColumn=qr,exports.isNumberEqual=$r,exports.isNumericColumn=Qr,exports.isSortView=Wr,exports.isTableRows=_r,exports.isValidEmail=function(e){return/^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@([A-Za-z0-9]+[-.])+[A-Za-z0-9]{2,20}$/.test(e)},exports.isValidGroupby=Pr,exports.isValidLink=function(e){if(!e)return!1;var r=e.link_id,t=e.table_id,a=e.other_table_id,n=e.display_column_key;return!!(r&&t&&a&&n)},exports.isValidPosition=Be,exports.isValidSort=kr,exports.linkFilter=yt,exports.longTextFilter=At,exports.multipleSelectFilter=ft,exports.numberFilter=ct,exports.otherDate=vr,exports.replaceNumberNotAllowInput=function(e,r,t){if(!e)return"";var a=e.replace(/。/g,".");switch(r){case"percent":return a.replace(/[^.-\d,%]/g,"");case"yuan":return a.replace(/[^.-\d¥¥,]/g,"");case"dollar":return a.replace(/[^.-\d$,]/g,"");case"euro":return a.replace(/[^.-\d€,]/g,"");case"custom_currency":var n=new RegExp("[^.-d"+t+",]","g");return a.replace(n,"");default:return a.replace(/[^.-\d,]/g,"")}},exports.singleSelectFilter=pt,exports.sortByArrayType=vt,exports.sortCheckbox=Mt,exports.sortCollaborator=Ct,exports.sortDate=It,exports.sortFormula=gt,exports.sortLink=St,exports.sortMultipleSelect=ht,exports.sortNumber=Ft,exports.sortRowsWithMultiSorts=Yt,exports.sortSingleSelect=bt,exports.sortTableRows=Ut,exports.sortText=Dt,exports.textFilter=_t,exports.transLink2LinkFormula=et,exports.updateGroupSummaries=function e(r,t,a){var n=t.columns.filter((function(e){return Qr(e)}));Array.isArray(r)&&0!==n.length&&r.forEach((function(r){var o=r.subgroups,i=r.row_ids;Array.isArray(o)&&o.length>0?(e(o,t,a),r.summaries=Jr(o,n)):i&&(r.summaries=zr(t,i,a))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/typeof"),t=require("@babel/runtime/helpers/classCallCheck"),a=require("@babel/runtime/helpers/createClass"),n=require("dayjs"),i=require("@babel/runtime/helpers/toConsumableArray"),o=require("deep-copy");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s,l,c,_,f,E,O,d,T,A,p,R,y=u(e),m=u(r),N=u(t),M=u(a),L=u(n),D=u(i),I=u(o),C={DEFAULT:"default",NUMBER:"number",TEXT:"text",CHECKBOX:"checkbox",DATE:"date",SINGLE_SELECT:"single-select",LONG_TEXT:"long-text",IMAGE:"image",FILE:"file",MULTIPLE_SELECT:"multiple-select",COLLABORATOR:"collaborator",LINK:"link",FORMULA:"formula",LINK_FORMULA:"link-formula",CREATOR:"creator",CTIME:"ctime",LAST_MODIFIER:"last-modifier",MTIME:"mtime",GEOLOCATION:"geolocation",AUTO_NUMBER:"auto-number",URL:"url",EMAIL:"email",DURATION:"duration",BUTTON:"button",RATE:"rate",DIGITAL_SIGN:"digital-sign",DEPARTMENT_SINGLE_SELECT:"department-single-select",BOOL:"bool",STRING:"string"},S=(s={},y.default(s,C.DEFAULT,"dtable-font dtable-icon-single-line-text"),y.default(s,C.TEXT,"dtable-font dtable-icon-single-line-text"),y.default(s,C.NUMBER,"dtable-font dtable-icon-number"),y.default(s,C.CHECKBOX,"dtable-font dtable-icon-check-square-solid"),y.default(s,C.DATE,"dtable-font dtable-icon-calendar-alt-solid"),y.default(s,C.SINGLE_SELECT,"dtable-font dtable-icon-single-election"),y.default(s,C.LONG_TEXT,"dtable-font dtable-icon-long-text"),y.default(s,C.IMAGE,"dtable-font dtable-icon-picture"),y.default(s,C.FILE,"dtable-font dtable-icon-file-alt-solid"),y.default(s,C.MULTIPLE_SELECT,"dtable-font dtable-icon-multiple-selection"),y.default(s,C.COLLABORATOR,"dtable-font dtable-icon-collaborator"),y.default(s,C.LINK,"dtable-font dtable-icon-link-other-record"),y.default(s,C.FORMULA,"dtable-font dtable-icon-formula"),y.default(s,C.LINK_FORMULA,"dtable-font dtable-icon-link-formulas"),y.default(s,C.CREATOR,"dtable-font dtable-icon-creator"),y.default(s,C.CTIME,"dtable-font dtable-icon-creation-time"),y.default(s,C.LAST_MODIFIER,"dtable-font dtable-icon-creator"),y.default(s,C.MTIME,"dtable-font dtable-icon-creation-time"),y.default(s,C.GEOLOCATION,"dtable-font dtable-icon-location"),y.default(s,C.AUTO_NUMBER,"dtable-font dtable-icon-autonumber"),y.default(s,C.URL,"dtable-font dtable-icon-url"),y.default(s,C.EMAIL,"dtable-font dtable-icon-email"),y.default(s,C.DURATION,"dtable-font dtable-icon-duration"),y.default(s,C.BUTTON,"dtable-font dtable-icon-button"),y.default(s,C.RATE,"dtable-font dtable-icon-rate"),y.default(s,C.DIGITAL_SIGN,"dtable-font dtable-icon-handwritten-signature"),y.default(s,C.DEPARTMENT_SINGLE_SELECT,"dtable-font dtable-icon-department-single-selection"),s),F=[{iconName:"Basic",iconClass:"",isDisabled:!0},{iconName:"Text",iconClass:S[C.TEXT],type:C.TEXT},{iconName:"Long_Text",iconClass:S[C.LONG_TEXT],type:C.LONG_TEXT},{iconName:"Number",iconClass:S[C.NUMBER],type:C.NUMBER},{iconName:"Collaborator",iconClass:S[C.COLLABORATOR],type:C.COLLABORATOR},{iconName:"Date",iconClass:S[C.DATE],type:C.DATE},{iconName:"Duration",iconClass:S[C.DURATION],type:C.DURATION},{iconName:"Single_Select",iconClass:S[C.SINGLE_SELECT],type:C.SINGLE_SELECT},{iconName:"Multiple_Select",iconClass:S[C.MULTIPLE_SELECT],type:C.MULTIPLE_SELECT},{iconName:"Image",iconClass:S[C.IMAGE],type:C.IMAGE},{iconName:"File",iconClass:S[C.FILE],type:C.FILE},{iconName:"Email",iconClass:S[C.EMAIL],type:C.EMAIL},{iconName:"URL",iconClass:S[C.URL],type:C.URL},{iconName:"Checkbox",iconClass:S[C.CHECKBOX],type:C.CHECKBOX},{iconName:"Rating",iconClass:S[C.RATE],type:C.RATE},{iconName:"Advanced",iconClass:"",isDisabled:!0},{iconName:"Formula",iconClass:S[C.FORMULA],type:C.FORMULA},{iconName:"Link_formula",iconClass:S[C.LINK_FORMULA],type:C.LINK_FORMULA},{iconName:"Geolocation",iconClass:S[C.GEOLOCATION],type:C.GEOLOCATION},{iconName:"Link_to_other_records",iconClass:S[C.LINK],type:C.LINK},{iconName:"Creator",iconClass:S[C.CREATOR],type:C.CREATOR},{iconName:"CTime",iconClass:S[C.CTIME],type:C.CTIME},{iconName:"Last_Modifier",iconClass:S[C.LAST_MODIFIER],type:C.LAST_MODIFIER},{iconName:"Last_Modified_Time",iconClass:S[C.MTIME],type:C.MTIME},{iconName:"Auto_number",iconClass:S[C.AUTO_NUMBER],type:C.AUTO_NUMBER},{iconName:"Button",iconClass:S[C.BUTTON],type:C.BUTTON},{iconName:"Digital_signature",iconClass:S[C.DIGITAL_SIGN],type:C.DIGITAL_SIGN},{iconName:"Department_single_select",iconClass:S[C.DEPARTMENT_SINGLE_SELECT],type:C.DEPARTMENT_SINGLE_SELECT}],v=[C.DATE,C.CTIME,C.MTIME],g=[C.NUMBER,C.DURATION,C.RATE],h=[C.COLLABORATOR,C.CREATOR,C.LAST_MODIFIER],b="YYYY-MM-DD",Y={YEAR:"year",MONTH:"month",WEEK:"week",DAY:"day",HOUR:"hour",HOURS:"hours",MINUTE:"minute",MINUTES:"minutes",SECOND:"second"},U={YYYY_MM_DD:"YYYY-MM-DD",YYYY_MM_DD_HH_MM:"YYYY-MM-DD HH:mm",YYYY_MM_DD_HH_MM_SS:"YYYY-MM-DD HH:mm:ss"},P={H_MM:"h:mm",H_MM_SS:"h:mm:ss",H_MM_SS_S:"h:mm:ss.s",H_MM_SS_SS:"h:mm:ss.ss",H_MM_SS_SSS:"h:mm:ss.sss"},B=[{name:P.H_MM,type:P.H_MM},{name:P.H_MM_SS,type:P.H_MM_SS}],x=(l={},y.default(l,P.H_MM,0),y.default(l,P.H_MM_SS,0),y.default(l,P.H_MM_SS_S,1),y.default(l,P.H_MM_SS_SS,2),y.default(l,P.H_MM_SS_SSS,3),l),w=(c={},y.default(c,P.H_MM,"0:00"),y.default(c,P.H_MM_SS,"0:00"),y.default(c,P.H_MM_SS_S,"0:00.0"),y.default(c,P.H_MM_SS_SS,"0:00.00"),y.default(c,P.H_MM_SS_SSS,"0:00.000"),c),H="number",G={CURRENT_USER_DEPARTMENT:"current_user_department",CURRENT_USER_DEPARTMENT_AND_SUB:"current_user_department_and_sub",SPECIFIC_DEPARTMENTS:"specific_departments"},k=[C.TEXT,C.NUMBER,C.SINGLE_SELECT,C.RATE,C.CHECKBOX,C.LONG_TEXT,C.DATE,C.COLLABORATOR,C.DEPARTMENT_SINGLE_SELECT],X=(_={},y.default(_,C.CTIME,!0),y.default(_,C.MTIME,!0),y.default(_,C.CREATOR,!0),y.default(_,C.LAST_MODIFIER,!0),y.default(_,C.FORMULA,!0),y.default(_,C.AUTO_NUMBER,!0),y.default(_,C.BUTTON,!0),y.default(_,C.LINK_FORMULA,!0),_),j=(f={},y.default(f,C.MULTIPLE_SELECT,!0),y.default(f,C.COLLABORATOR,!0),y.default(f,C.LINK,!0),f),K=(E={},y.default(E,C.TEXT,!0),y.default(E,C.DATE,!0),y.default(E,C.CTIME,!0),y.default(E,C.MTIME,!0),y.default(E,C.NUMBER,!0),y.default(E,C.CHECKBOX,!0),y.default(E,C.SINGLE_SELECT,!0),y.default(E,C.CREATOR,!0),y.default(E,C.GEOLOCATION,!0),y.default(E,C.FORMULA,!0),y.default(E,C.LINK_FORMULA,!0),y.default(E,C.URL,!0),y.default(E,C.EMAIL,!0),y.default(E,C.DURATION,!0),y.default(E,C.RATE,!0),y.default(E,C.LAST_MODIFIER,!0),y.default(E,C.DIGITAL_SIGN,!0),E),V={TODAY:"today",TOMORROW:"tomorrow",YESTERDAY:"yesterday",ONE_WEEK_AGO:"one_week_ago",ONE_WEEK_FROM_NOW:"one_week_from_now",ONE_MONTH_AGO:"one_month_ago",ONE_MONTH_FROM_NOW:"one_month_from_now",NUMBER_OF_DAYS_AGO:"number_of_days_ago",NUMBER_OF_DAYS_FROM_NOW:"number_of_days_from_now",EXACT_DATE:"exact_date",THE_PAST_WEEK:"the_past_week",THE_PAST_MONTH:"the_past_month",THE_PAST_YEAR:"the_past_year",THE_NEXT_WEEK:"the_next_week",THE_NEXT_MONTH:"the_next_month",THE_NEXT_YEAR:"the_next_year",THE_NEXT_NUMBERS_OF_DAYS:"the_next_numbers_of_days",THE_PAST_NUMBERS_OF_DAYS:"the_past_numbers_of_days",THIS_WEEK:"this_week",THIS_MONTH:"this_month",THIS_YEAR:"this_year"},W=(O={},y.default(O,V.TODAY,"today"),y.default(O,V.TOMORROW,"tomorrow"),y.default(O,V.YESTERDAY,"yesterday"),y.default(O,V.ONE_WEEK_AGO,"one week ago"),y.default(O,V.ONE_WEEK_FROM_NOW,"one week from now"),y.default(O,V.ONE_MONTH_AGO,"one month ago"),y.default(O,V.ONE_MONTH_FROM_NOW,"one month from now"),y.default(O,V.NUMBER_OF_DAYS_AGO,"number of days ago"),y.default(O,V.NUMBER_OF_DAYS_FROM_NOW,"number of days from now"),y.default(O,V.EXACT_DATE,"exact date"),y.default(O,V.THE_PAST_WEEK,"the past week"),y.default(O,V.THE_PAST_MONTH,"the past month"),y.default(O,V.THE_PAST_YEAR,"the past year"),y.default(O,V.THE_NEXT_WEEK,"the next week"),y.default(O,V.THE_NEXT_MONTH,"the next month"),y.default(O,V.THE_NEXT_YEAR,"the next year"),y.default(O,V.THE_NEXT_NUMBERS_OF_DAYS,"the next numbers of days..."),y.default(O,V.THE_PAST_NUMBERS_OF_DAYS,"the past numbers of days..."),y.default(O,V.THIS_WEEK,"this week"),y.default(O,V.THIS_MONTH,"this month"),y.default(O,V.THIS_YEAR,"this year"),O),Q={CONTAINS:"contains",NOT_CONTAIN:"does_not_contain",IS:"is",IS_NOT:"is_not",EQUAL:"equal",NOT_EQUAL:"not_equal",LESS:"less",GREATER:"greater",LESS_OR_EQUAL:"less_or_equal",GREATER_OR_EQUAL:"greater_or_equal",EMPTY:"is_empty",NOT_EMPTY:"is_not_empty",IS_WITHIN:"is_within",IS_BEFORE:"is_before",IS_AFTER:"is_after",IS_ON_OR_BEFORE:"is_on_or_before",IS_ON_OR_AFTER:"is_on_or_after",HAS_ANY_OF:"has_any_of",HAS_ALL_OF:"has_all_of",HAS_NONE_OF:"has_none_of",IS_EXACTLY:"is_exactly",INCLUDE_ME:"include_me",IS_CURRENT_USER_ID:"is_current_user_ID",IS_ANY_OF:"is_any_of",IS_NONE_OF:"is_none_of"},q=(d={},y.default(d,Q.CONTAINS,"contains"),y.default(d,Q.NOT_CONTAIN,"does not contain"),y.default(d,Q.IS,"is"),y.default(d,Q.IS_NOT,"is not"),y.default(d,Q.EQUAL,"="),y.default(d,Q.NOT_EQUAL,"≠"),y.default(d,Q.LESS,"<"),y.default(d,Q.GREATER,">"),y.default(d,Q.LESS_OR_EQUAL,"≤"),y.default(d,Q.GREATER_OR_EQUAL,"≥"),y.default(d,Q.EMPTY,"is empty"),y.default(d,Q.NOT_EMPTY,"is not empty"),y.default(d,Q.IS_WITHIN,"is within..."),y.default(d,Q.IS_BEFORE,"is before..."),y.default(d,Q.IS_AFTER,"is after..."),y.default(d,Q.IS_ON_OR_BEFORE,"is on or before..."),y.default(d,Q.IS_ON_OR_AFTER,"is on or after..."),y.default(d,Q.HAS_ANY_OF,"has any of..."),y.default(d,Q.HAS_ALL_OF,"has all of..."),y.default(d,Q.HAS_NONE_OF,"has none of..."),y.default(d,Q.IS_EXACTLY,"is exactly..."),y.default(d,Q.IS_CURRENT_USER_ID,"is current user's ID"),d),Z=[Q.CONTAINS,Q.NOT_CONTAIN,Q.IS,Q.IS_NOT,Q.EMPTY,Q.NOT_EMPTY,Q.IS_CURRENT_USER_ID],$=[Q.EQUAL,Q.NOT_EQUAL,Q.LESS,Q.GREATER,Q.LESS_OR_EQUAL,Q.GREATER_OR_EQUAL,Q.EMPTY,Q.NOT_EMPTY],z=[Q.IS,Q.IS_WITHIN,Q.IS_BEFORE,Q.IS_AFTER,Q.IS_ON_OR_BEFORE,Q.IS_ON_OR_AFTER,Q.IS_NOT,Q.EMPTY,Q.NOT_EMPTY],J=Z.filter((function(e){return e!==Q.IS_CURRENT_USER_ID})),ee=[V.TODAY,V.TOMORROW,V.YESTERDAY,V.ONE_WEEK_AGO,V.ONE_WEEK_FROM_NOW,V.ONE_MONTH_AGO,V.ONE_MONTH_FROM_NOW,V.NUMBER_OF_DAYS_AGO,V.NUMBER_OF_DAYS_FROM_NOW,V.EXACT_DATE],re=(T={},y.default(T,C.TEXT,{filterPredicateList:Z}),y.default(T,C.NUMBER,{filterPredicateList:$}),y.default(T,C.CHECKBOX,{filterPredicateList:[Q.IS]}),y.default(T,C.DATE,{filterPredicateList:z,filterTermModifierList:ee}),y.default(T,C.CTIME,{filterPredicateList:z,filterTermModifierList:ee}),y.default(T,C.MTIME,{filterPredicateList:z,filterTermModifierList:ee}),y.default(T,C.SINGLE_SELECT,{filterPredicateList:[Q.IS,Q.IS_NOT,Q.IS_ANY_OF,Q.IS_NONE_OF,Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.MULTIPLE_SELECT,{filterPredicateList:[Q.HAS_ANY_OF,Q.HAS_ALL_OF,Q.HAS_NONE_OF,Q.IS_EXACTLY,Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.DEPARTMENT_SINGLE_SELECT,{filterPredicateList:[Q.IS,Q.IS_NOT,Q.IS_ANY_OF,Q.IS_NONE_OF,Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.COLLABORATOR,{filterPredicateList:[Q.HAS_ANY_OF,Q.HAS_ALL_OF,Q.HAS_NONE_OF,Q.IS_EXACTLY,Q.EMPTY,Q.NOT_EMPTY,Q.INCLUDE_ME]}),y.default(T,C.CREATOR,{filterPredicateList:[Q.CONTAINS,Q.NOT_CONTAIN,Q.INCLUDE_ME,Q.IS,Q.IS_NOT]}),y.default(T,C.GEOLOCATION,{filterPredicateList:J}),y.default(T,C.FORMULA,{}),y.default(T,C.LINK_FORMULA,{}),y.default(T,C.LINK,{}),y.default(T,C.LAST_MODIFIER,{filterPredicateList:[Q.CONTAINS,Q.NOT_CONTAIN,Q.INCLUDE_ME,Q.IS,Q.IS_NOT]}),y.default(T,C.AUTO_NUMBER,{filterPredicateList:[Q.CONTAINS,Q.NOT_CONTAIN,Q.IS,Q.IS_NOT]}),y.default(T,C.EMAIL,{filterPredicateList:[Q.CONTAINS,Q.NOT_CONTAIN,Q.IS,Q.IS_NOT,Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.URL,{filterPredicateList:[Q.CONTAINS,Q.NOT_CONTAIN,Q.IS,Q.IS_NOT,Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.IMAGE,{filterPredicateList:[Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.FILE,{filterPredicateList:[Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.LONG_TEXT,{filterPredicateList:[Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.DURATION,{filterPredicateList:$}),y.default(T,C.RATE,{filterPredicateList:$}),y.default(T,C.DIGITAL_SIGN,{filterPredicateList:[Q.EMPTY,Q.NOT_EMPTY]}),y.default(T,C.STRING,{filterPredicateList:Z}),y.default(T,C.BOOL,{filterPredicateList:[Q.IS]}),T),te=[V.EXACT_DATE,V.TODAY,V.TOMORROW,V.YESTERDAY,V.ONE_WEEK_AGO,V.ONE_WEEK_FROM_NOW,V.ONE_MONTH_AGO,V.ONE_MONTH_FROM_NOW,V.NUMBER_OF_DAYS_AGO,V.NUMBER_OF_DAYS_FROM_NOW],ae=[V.THE_PAST_WEEK,V.THE_PAST_MONTH,V.THE_PAST_YEAR,V.THIS_WEEK,V.THIS_MONTH,V.THIS_YEAR,V.THE_NEXT_WEEK,V.THE_NEXT_MONTH,V.THE_NEXT_YEAR,V.THE_NEXT_NUMBERS_OF_DAYS,V.THE_PAST_NUMBERS_OF_DAYS],ne={AND:"And",OR:"Or"},ie={INVALID_FILTER:"invalid filter",INCOMPLETE_FILTER:"incomplete filter",COLUMN_MISSING:"the column to filter does not exist",COLUMN_NOT_SUPPORTED:"the column to filter is not supported",UNMATCHED_PREDICATE:"unmatched filter predicate",UNMATCHED_MODIFIER:"unmatched filter modifier",INVALID_TERM:"invalid filter term"},oe={NUMBER:"number",STRING:"string",DATE:"date",BOOL:"bool",ARRAY:"array"},ue=(A={},y.default(A,C.FORMULA,!0),y.default(A,C.LINK_FORMULA,!0),A),se=["#ERROR!","#DIV/0!","#NAME?","#N/A","#NULL!","#NUM!","#REF!","#VALUE!","#GETTING_DATA"],le=[{COLOR:"#FFFCB5",BORDER_COLOR:"#E8E79D",TEXT_COLOR:"#212529"},{COLOR:"#FFEAB6",BORDER_COLOR:"#ECD084",TEXT_COLOR:"#212529"},{COLOR:"#FFD9C8",BORDER_COLOR:"#EFBAA3",TEXT_COLOR:"#212529"},{COLOR:"#FFDDE5",BORDER_COLOR:"#EDC4C1",TEXT_COLOR:"#212529"},{COLOR:"#FFD4FF",BORDER_COLOR:"#E6B6E6",TEXT_COLOR:"#212529"},{COLOR:"#DAD7FF",BORDER_COLOR:"#C3BEEF",TEXT_COLOR:"#212529"},{COLOR:"#DDFFE6",BORDER_COLOR:"#BBEBCD",TEXT_COLOR:"#212529"},{COLOR:"#DEF7C4",BORDER_COLOR:"#C5EB9E",TEXT_COLOR:"#212529"},{COLOR:"#D8FAFF",BORDER_COLOR:"#B4E4E9",TEXT_COLOR:"#212529"},{COLOR:"#D7E8FF",BORDER_COLOR:"#BAD1E9",TEXT_COLOR:"#212529"},{COLOR:"#B7CEF9",BORDER_COLOR:"#96B2E1",TEXT_COLOR:"#212529"},{COLOR:"#E9E9E9",BORDER_COLOR:"#DADADA",TEXT_COLOR:"#212529"},{COLOR:"#FBD44A",BORDER_COLOR:"#E5C142",TEXT_COLOR:"#FFFFFF"},{COLOR:"#EAA775",BORDER_COLOR:"#D59361",TEXT_COLOR:"#FFFFFF"},{COLOR:"#F4667C",BORDER_COLOR:"#DC556A",TEXT_COLOR:"#FFFFFF"},{COLOR:"#DC82D2",BORDER_COLOR:"#D166C5",TEXT_COLOR:"#FFFFFF"},{COLOR:"#9860E5",BORDER_COLOR:"#844BD2",TEXT_COLOR:"#FFFFFF"},{COLOR:"#9F8CF1",BORDER_COLOR:"#8F75E2",TEXT_COLOR:"#FFFFFF"},{COLOR:"#59CB74",BORDER_COLOR:"#4EB867",TEXT_COLOR:"#FFFFFF"},{COLOR:"#ADDF84",BORDER_COLOR:"#9CCF72",TEXT_COLOR:"#FFFFFF"},{COLOR:"#89D2EA",BORDER_COLOR:"#7BC0D6",TEXT_COLOR:"#FFFFFF"},{COLOR:"#4ECCCB",BORDER_COLOR:"#45BAB9",TEXT_COLOR:"#FFFFFF"},{COLOR:"#46A1FD",BORDER_COLOR:"#3C8FE4",TEXT_COLOR:"#FFFFFF"},{COLOR:"#C2C2C2",BORDER_COLOR:"#ADADAD",TEXT_COLOR:"#FFFFFF"}],ce={UP:"up",DOWN:"down"},_e=[C.DATE,C.CTIME,C.MTIME,C.SINGLE_SELECT,C.TEXT,C.NUMBER,C.FORMULA,C.LINK_FORMULA,C.AUTO_NUMBER,C.COLLABORATOR,C.DURATION,C.URL,C.EMAIL,C.CHECKBOX,C.MULTIPLE_SELECT,C.LINK,C.RATE],fe=[C.TEXT,C.URL,C.EMAIL],Ee=[C.NUMBER,C.DURATION,C.RATE],Oe={DAY:"day",WEEK:"week",MONTH:"month",QUARTAR:"quartar",YEAR:"year"},de=(p={},y.default(p,Oe.DAY,"By_day"),y.default(p,Oe.WEEK,"By_week"),y.default(p,Oe.MONTH,"By_month"),y.default(p,Oe.QUARTAR,"By_quarter"),y.default(p,Oe.YEAR,"By_year"),p),Te={PROVINCE:"province",CITY:"city",DISTRICT:"district",COUNTRY:"country"},Ae=(R={},y.default(R,Te.PROVINCE,"By_province"),y.default(R,Te.CITY,"By_city"),y.default(R,Te.DISTRICT,"By_district"),R),pe=[C.TEXT,C.DATE,C.CTIME,C.MTIME,C.NUMBER,C.CHECKBOX,C.SINGLE_SELECT,C.MULTIPLE_SELECT,C.COLLABORATOR,C.CREATOR,C.GEOLOCATION,C.FORMULA,C.LINK_FORMULA,C.LINK,C.URL,C.EMAIL,C.DURATION,C.RATE,C.LAST_MODIFIER],Re=/\d+|\D+/g,ye=/\d/,me={color_gradation_1:["#FFFFFF","#CAE9FF","#9AC5FF","#7DAAFF","#5C90F9"],color_gradation_2:["#5C90F9","#7DAAFF","#9AC5FF","#CAE9FF","#FFFFFF"],color_gradation_3:["#FFFFFF","#AAF7D2","#74E6B6","#42C090","#17A675"],color_gradation_4:["#17A675","#42C090","#74E6B6","#AAF7D2","#FFFFFF"],color_gradation_5:["#FFFFFF","#EBE2F1","#D4C4E2","#BFA8D4","#A989C5"],color_gradation_6:["#A989C5","#BFA8D4","#D4C4E2","#EBE2F1","#FFFFFF"],color_gradation_7:["#FFFFFF","#FBE2E1","#F7C6C6","#F3A9A9","#F17F7E"],color_gradation_8:["#F17F7E","#F3A9A9","#F7C6C6","#FBE2E1","#FFFFFF"],color_gradation_9:["#FFFFFF","#FFF2D4","#FFE9B8","#FFDD95","#FFD470"],color_gradation_10:["#FFD470","#FFDD95","#FFE9B8","#FFF2D4","#FFFFFF"],color_gradation_11:["#FFFFFF","#FEE6CE","#FDD1A2","#FDAD6B","#FD8D3D"],color_gradation_12:["#FD8D3D","#FDAD6B","#FDD1A2","#FEE6CE","#FFFFFF"]},Ne=function(e){return null==e||(void 0!==e.length?0===e.length:!(e instanceof Date)&&("object"===m.default(e)&&0===Object.keys(e).length))},Me=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},Le=function(e,r){return e&&Array.isArray(e.columns)&&r?e.columns.find((function(e){return e.key===r})):null},De=function(e,r){return e&&e.id_row_map&&Array.isArray(r)?r.map((function(r){return e.id_row_map[r]})).filter(Boolean):[]},Ie=[1,1,1,2,2,2,3,3,3,4,4,4],Ce=/(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Se=/\d\d?/,Fe=/\d\d/,ve={mm:[Se,Y.MINUTES],HH:[Se,Y.HOURS],D:[Se,Y.DAY],DD:[Fe,Y.DAY],M:[Se,Y.MONTH],MM:[Fe,Y.MONTH],YYYY:[/\d{4}/,Y.YEAR]},ge=["YYYY","MM","M","DD","D"],he=function(){function e(){N.default(this,e)}return M.default(e,null,[{key:"format",value:function(e,r){var t=this.getValidDate(e);if(!t)return"";var a=r&&r.toUpperCase(),n=t.getFullYear(),i=t.getMonth()+1,o=t.getDate(),u=i<10?"0".concat(i):i,s=o<10?"0".concat(o):o;switch(a){case"YYYY-MM-DD HH:MM:SS":var l=t.getHours(),c=t.getMinutes(),_=t.getSeconds(),f=l<10?"0".concat(l):l,E=c<10?"0".concat(c):c,O=_<10?"0".concat(_):_;return"".concat(n,"-").concat(u,"-").concat(s," ").concat(f,":").concat(E,":").concat(O);case"YYYY-MM-DD HH:MM":var d=t.getHours(),T=t.getMinutes(),A=d<10?"0".concat(d):d,p=T<10?"0".concat(T):T;return"".concat(n,"-").concat(u,"-").concat(s," ").concat(A,":").concat(p);default:return"".concat(n,"-").concat(u,"-").concat(s)}}},{key:"getDateByGranularity",value:function(e,r){var t=this.getValidDate(e);if(!t)return"";var a=r&&r.toUpperCase(),n=t.getFullYear();switch(a){case"YEAR":return"".concat(n);case"QUARTAR":var i=t.getMonth(),o=Ie[i];return"".concat(n,"-Q").concat(o);case"MONTH":var u=t.getMonth()+1,s=u<10?"0".concat(u):u;return"".concat(n,"-").concat(s);case"WEEK":var l=t.getDay(),c=t.getDate()+(0===l?-6:1-l),_=new Date(n,t.getMonth(),c),f=_.getMonth()+1,E=_.getDate(),O=f<10?"0".concat(f):f,d=E<10?"0".concat(E):E;return"".concat(_.getFullYear(),"-").concat(O,"-").concat(d);case"DAY":var T=t.getMonth()+1,A=t.getDate(),p=T<10?"0".concat(T):T,R=A<10?"0".concat(A):A;return"".concat(n,"-").concat(p,"-").concat(R);default:return""}}},{key:"isValidDateObject",value:function(e){return e instanceof Date&&!isNaN(e.getTime())}},{key:"getValidDate",value:function(e){if(!e)return null;var r="string"==typeof e,t=e,a=e;return r&&(t.split(" ").length>1||t.includes("T")?a=new Date(e):(t="".concat(e," 00:00:00"),a=new Date(t))),this.isValidDateObject(a)?a:r?(a=new Date(t.replace(/-/g,"/")),this.isValidDateObject(a)?a:null):null}},{key:"parseDateWithFormat",value:function(e,r){try{var t=this.makeParser(r)(e),a=t.year,n=t.month,i=t.day,o=t.hours,u=t.minutes;if(!a)a=(new Date).getFullYear();var s=new Date("".concat(a,"-").concat(n,"-").concat(i," ").concat(o||"00",":").concat(u||"00"));return this.isValidDateObject(s)?s:this.getValidDate(e)}catch(r){return this.getValidDate(e)}}},{key:"makeParser",value:function(e){var r=(e||b).match(Ce),t=r.length;return function(e){for(var a=e.split(" "),n=a[0]||"",i=a[1]||"",o={},u=0;u<t;u++){var s=r[u],l=ve[s];if(l){var c=l[0],_=l[1];if(_){var f=ge.includes(s),E=f?c.exec(n):c.exec(i);if(E){var O=E[0];o[_]=O,f?n=n.replace(O,""):i=i.replace(O,"")}}}}return o}}}]),e}(),be=function(e,r){if(!Array.isArray(e)||!Array.isArray(r))return[];var t={};return r.forEach((function(e){t[e.email]=e})),e.map((function(e){var r=t[e];return r&&r.name})).filter(Boolean)},Ye=function(e,r){var t=be(r,e);return Array.isArray(t)&&0!==t.length?t.join(", "):""},Ue=function(e,r){if(!e||"string"!=typeof e)return"";var t=L.default(e);if(!t.isValid())return e;switch(r){case"D/M/YYYY":case"DD/MM/YYYY":var a=t.format("YYYY-MM-DD").split("-");return"".concat(a[2],"/").concat(a[1],"/").concat(a[0]);case"D/M/YYYY HH:mm":case"DD/MM/YYYY HH:mm":var n=t.format("YYYY-MM-DD HH:mm").split(" "),i=n[0].split("-");return"".concat(i[2],"/").concat(i[1],"/").concat(i[0]," ").concat(n[1]);case"M/D/YYYY":return t.format("M/D/YYYY");case"M/D/YYYY HH:mm":return t.format("M/D/YYYY HH:mm");case"YYYY-MM-DD":default:return t.format("YYYY-MM-DD");case"YYYY-MM-DD HH:mm":return t.format("YYYY-MM-DD HH:mm");case"YYYY-MM-DD HH:mm:ss":return t.format("YYYY-MM-DD HH:mm:ss");case"DD.MM.YYYY":return t.format("DD.MM.YYYY");case"DD.MM.YYYY HH:mm":return t.format("DD.MM.YYYY HH:mm")}},Pe=function(e){return e&&e.sign_image_url||""},Be=function(e,r){if(!e&&0!==e)return"";var t=(r||{}).duration_format;if(t=t||P.H_MM,B.findIndex((function(e){return e.type===t}))<0)return"";if(0===e)return w[t];var a=t.indexOf(".")>-1,n=Math.abs(e);a||(n=Math.round(n)),n=function(e,r){var t=x[r];if(t<1)return e;var a=Math.pow(10,t);return Math.round(e*a)/a}(n,t);var i=String(n).split("."),o=i.length,u=0;o>1&&(u=(u=i[o-1])?u-0:0);var s=x[t],l=function(e,r){if(e===P.H_MM_SS_S)return 0===r?".0":"";if(e===P.H_MM_SS_SS)return 0===r?".00":r<10?"0":"";if(e===P.H_MM_SS_SSS){if(0===r)return".000";if(r<10)return"00";if(r<100)return"0"}return""}(t,u),c=parseInt(n/3600),_=parseInt((n-3600*c)/60),f=e<0?"-":"";if(t===P.H_MM)return f+="".concat(c,":").concat(_>9?_:"0".concat(_));var E=Number.parseFloat((n-3600*c-60*_).toFixed(s));return _=_>9?_:"0".concat(_),E=E>9?E:"0".concat(E),f+="".concat(c,":").concat(_,":").concat(E).concat(l)},xe=function(e,r){return(e||0===e)&&(r||0===r)},we=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=t.isBaiduMap,n=void 0===a||a,i=t.hyphen,o=void 0===i?"":i;if(!e)return"";switch((r||{}).geo_format){case"lng_lat":var u=e.lng,s=e.lat;return xe(u,s)?n?"".concat(u,", ").concat(s):"".concat(s,", ").concat(u):"";case"country_region":return e.country_region||"";case"province":return e.province||"";case"province_city":var l=e.province,c=e.city;return"".concat(l||"").concat(o).concat(c||"").trim();case"province_city_district":var _=e.province,f=e.city,E=e.district;return"".concat(_||"").concat(o).concat(f||"").concat(o).concat(E||"").trim();case"map_selection":var O=e.address,d=e.title;return"".concat(O||"").concat(o).concat(d||"").trim();default:var T=e.province,A=e.city,p=e.district,R=e.detail;return T||A||p||R?"".concat(T||"").concat(o).concat(A||"").concat(o).concat(p||"").concat(o).concat(R||"").trim():""}},He=function(e,r){if(!e)return"";var t=e.province,a=e.city,n=e.district,i=e.country_region;switch(r){case Te.CITY:return a||"";case Te.DISTRICT:return n||"";case Te.COUNTRY:return i||"";default:return t||""}},Ge=function(e){return e&&e.text||""},ke=function(e){var r=e.toString().split(/[eE]/),t=(r[0].split(".")[1]||"").length-+(r[1]||0);return t>0?t:0},Xe=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;return+parseFloat(Number(e).toPrecision(r))},je=function(e){if(-1===e.toString().indexOf("e"))return Number(e.toString().replace(".",""));var r=ke(e);return r>0?Xe(Number(e)*Math.pow(10,r)):Number(e)},Ke=function(e,r){var t=je(e),a=je(r),n=ke(e)+ke(r);return t*a/Math.pow(10,n)},Ve={comma:",",dot:".",no:"",space:" "},We=function(e){return"string"!=typeof e?"":e.endsWith("0")?e.replace(/(?:\.0*|(\.\d+?)0+)$/,"$1"):e},Qe=function(e,r){var t=r.formats,a=r.isCurrency,n=void 0===a||a,i=t||{},o=i.decimal,u=void 0===o?"dot":o,s=i.thousands,l=void 0===s?"no":s,c=i.precision,_=void 0===c?2:c,f=i.enable_precision,E=void 0!==f&&f;if(String(e).includes("e")){if(e<1&&e>-1){var O=e.toFixed(E?_:8);return E||(O=We(O)),0===parseFloat(O)&&O.startsWith("-")?O.substring(1):O}return String(e)}var d,T,A,p=Ve[u],R=Ve[l],y=E?_:function(e){if(Number.isInteger(e))return 0;var r=String(e).split(".")[1],t=r?r.length:8;return t>8?8:t}(e),m=parseFloat(e.toFixed(y)),N=m<0,M=Math.trunc(m),L=String(Math.abs((d=m,T=M,A=Math.pow(10,Math.max(ke(d),ke(T))),(Ke(d,A)-Ke(T,A))/A)).toFixed(y)).slice(1);E||(L=We(L)),n&&(E||(L=2===L.length?L=L.padEnd(3,"0"):(L.substring(0,3)||".").padEnd(3,"0"))),L=L.replace(/./,p);for(var D=[],I=0,C=(M=Math.abs(M).toString()).length-1;C>-1;C--)I+=1,D.unshift(M[C]),I%3||0===C||D.unshift(R);return"".concat(N?"-":"").concat(D.join("")).concat(L)},qe=function(e,r){var t=Object.prototype.toString.call(e);if("[object Number]"!==t)return"[object String]"===t&&e.startsWith("#")?e:"";if(isNaN(e)||e===1/0||e===-1/0)return String(e);var a=(r||{}).format;switch(void 0===a?H:a){case"number":return Qe(e,{formats:r,isCurrency:!1});case"percent":return"".concat(Qe(Number.parseFloat((100*e).toFixed(8)),{formats:r,isCurrency:!1}),"%");case"yuan":return"¥".concat(Qe(e,{formats:r}));case"dollar":return"$".concat(Qe(e,{formats:r}));case"euro":return"€".concat(Qe(e,{formats:r}));case"duration":return Be(e,r);case"custom_currency":return"after"===r.currency_symbol_position?"".concat(Qe(e,{formats:r})).concat(r.currency_symbol||""):"".concat(r.currency_symbol||"").concat(Qe(e,{formats:r}));default:return String(e)}},Ze=function(e){return e&&e.data&&Array.isArray(e.data.options)?e.data.options:[]},$e=function(e){if(1===e.length)return String(Math.floor(Math.random()*Math.pow(10,6)));for(var r,t=!1;!(t||(r=String(Math.floor(Math.random()*Math.pow(10,6))),t=e.every((function(e){return e.id!==r})))););return r},ze=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=$e(e),n=t&&le.find((function(e){return e.COLOR===t}));return n||(n=function(e){var r=le.slice(12,24),t=Math.floor(Math.random()*r.length);if(!Array.isArray(e)||0===e.length)return r[t];var a=e.slice(-(r.length-1)),n=[],i={};for(r.forEach((function(e,r){i[e.COLOR]=r})),a.forEach((function(e){var r=i[e.color];n.push(r)}));-1!=n.indexOf(t);)t=Math.floor(Math.random()*r.length);return r[t]||r[0]}(e)),{id:a,name:r,color:n.COLOR,textColor:n.TEXT_COLOR}},Je=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e.id===r})):null},er=function(e,r){if(!r||!Array.isArray(e))return"";var t=Je(e,r);return t?t.name:""},rr=function(e,r){var t=Ze(e);return er(t,r)},tr=function(e,r){if(!Array.isArray(r)||!Array.isArray(e))return"";var t=e.filter((function(e){return r.includes(e.id)}));return 0===t.length?"":t.map((function(e){return e.name})).join(", ")},ar=function(e,r){if(!r||!e||0===e.length)return"";var t=e.find((function(e){return e.id===r}));return t&&t.name||""},nr=[C.IMAGE,C.FILE,C.MULTIPLE_SELECT,C.COLLABORATOR],ir=function(e,r,t){var a=t.collaborators,n=t.isArchiveView;if(!Array.isArray(e)||0===e.length||!r.data)return"";var i=r.key,o=r.data,u=o.array_type,s=o.array_data,l={key:i,type:u,data:s};return nr.includes(u)?sr(y.default({},i,e),l,{collaborators:a}):u===C.STRING?(l.type=C.TEXT,e.map((function(e){return sr(y.default({},i,e),l)})).filter(Boolean).join(", ")):u===C.BOOL?(l.type=C.CHECKBOX,e.map((function(e){return sr(y.default({},i,e),l)})).filter(Boolean).join(", ")):e.map((function(e){return sr(y.default({},i,e),l,{collaborators:a,isArchiveView:n})})).filter((function(e){return e||0===e})).join(", ")},or=function(e,r){if(!r)return"";var t=r.result_type;if(t===oe.NUMBER)return qe(e,r);if(t===oe.DATE){var a=r.format;return Ue(e,a)}if(t===oe.ARRAY){var n=r.array_type,i=r.array_data;return n?h.includes(n)?e:!nr.includes(n)&&Array.isArray(e)?e.map((function(e){return ur({FORMULA_ARRAY:e},n,"FORMULA_ARRAY",{data:i})})).join(", "):ur({FORMULA_ARRAY:e},n,"FORMULA_ARRAY",{data:i}):""}return"[object Boolean]"===Object.prototype.toString.call(e)?String(e):e},ur=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.data,i=a.formulaRows,o=void 0===i?{}:i,u=a.collaborators,s=void 0===u?[]:u,l=a.departments,c=void 0===l?[]:l,_=a.isBaiduMap,f=void 0===_||_,E=a.geolocationHyphen,O=void 0===E?"":E;if(!e)return"";var d=e[t];switch(r){case C.LONG_TEXT:return Ge(d);case C.NUMBER:return qe(d,n);case C.DURATION:return Be(d,n);case C.GEOLOCATION:return we(d,n,{isBaiduMap:f,hyphen:O});case C.SINGLE_SELECT:if(!n)return"";var T=n.options;return er(T,d);case C.MULTIPLE_SELECT:if(!n)return"";var A=n.options;return tr(A,d);case C.DATE:var p=(n||{}).format;return Ue(d,void 0===p?b:p);case C.CTIME:case C.MTIME:return he.format(d,"YYYY-MM-DD HH:MM:SS");case C.COLLABORATOR:return Ye(s,d);case C.DEPARTMENT_SINGLE_SELECT:return ar(c,d);case C.CREATOR:case C.LAST_MODIFIER:return"anonymous"===d?d:Ye(s,[d]);case C.FORMULA:case C.LINK_FORMULA:var R=o&&o[e._id];return R?or(R[t],n):"";case C.DIGITAL_SIGN:return Pe(d);default:return d||"boolean"==typeof d?String(d):""}},sr=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=t.formulaRows,n=void 0===a?{}:a,i=t.collaborators,o=void 0===i?[]:i,u=t.isArchiveView,s=void 0!==u&&u;if(!e||!r)return"";var l=r.key,c=r.type,_=r.data,f=e[l];switch(c){case C.TEXT:case C.EMAIL:case C.URL:case C.AUTO_NUMBER:return f||"";case C.RATE:return f?String(f):"";case C.CHECKBOX:return"boolean"==typeof f?String(f):"true"===f?"true":"false";case C.LONG_TEXT:return s&&(f={text:f}),Ge(f);case C.NUMBER:return qe(f,_);case C.DURATION:return Be(f,_);case C.GEOLOCATION:return we(f,_);case C.SINGLE_SELECT:return _?er(_.options,f):"";case C.MULTIPLE_SELECT:return _?tr(_.options,f):"";case C.DATE:var E=(_||{}).format,O=void 0===E?b:E,d="D/M/YYYY"===O?O.replace(/D\/M\/YYYY/,"DD/MM/YYYY"):O;return Ue(f,d);case C.CTIME:case C.MTIME:return he.format(f,"YYYY-MM-DD HH:MM:SS");case C.COLLABORATOR:return Ye(o,f);case C.DEPARTMENT_SINGLE_SELECT:return ar(departments,f);case C.CREATOR:case C.LAST_MODIFIER:return"anonymous"===f?f:Ye(o,[f]);case C.LINK:var T=f;if(!s){var A=n&&n[e._id];T=A&&A[l]}if(!Array.isArray(T)||0===T.length)return"";var p=T.map((function(e){return e.display_value}));return p.some((function(e){return Array.isArray(e)}))?p.map((function(e){return ir(e,r,{collaborators:o,isArchiveView:s})})).filter(Boolean).join(", "):ir(p,r,{collaborators:o});case C.FORMULA:case C.LINK_FORMULA:var R=f;if(!s){var y=n&&n[e._id];R=y&&y[l]}var m=_.result_type;if(m===oe.STRING)return R||"";if(m===oe.BOOL)return"boolean"==typeof R?String(R):"true"===R?"true":"false";if(m===oe.NUMBER)return qe(R,_);if(m===oe.DATE){var N=_.format;return Ue(R,N)}return ir(R,r,{collaborators:o,isArchiveView:s});case C.FILE:case C.IMAGE:case C.DIGITAL_SIGN:case C.BUTTON:return"";default:return f?String(f):""}},lr=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},cr=function(e,r,t){return e===r?t:r},_r=function(e,r,t,a,n){if(!(Array.isArray(e)&&0!==e.length&&t&&a&&n))return[];var i=lr(e,r);if(!i)return[];var o=(t===a?i.table2_table1_map:i.table1_id===t?i.table1_table2_map:i.table2_table1_map)[n];return o?D.default(o):[]},fr=function(e){return Array.isArray(e)&&"object"===m.default(e[0])},Er=function(e){var r=e.type,t=e.data;if(ue[r]){var a=t||{},n=a.result_type,i=a.array_type;return n===oe.ARRAY?i:n}return r===C.LINK?(t||{}).array_type:r},Or=function(e){return v.includes(Er(e))},dr="number",Tr="string",Ar="boolean",pr="array",Rr=[C.TEXT,C.STRING],yr=[Q.EMPTY,Q.NOT_EMPTY],mr=[Q.IS_ANY_OF,Q.IS_NONE_OF],Nr=[V.NUMBER_OF_DAYS_AGO,V.NUMBER_OF_DAYS_FROM_NOW,V.THE_NEXT_NUMBERS_OF_DAYS,V.THE_PAST_NUMBERS_OF_DAYS,V.EXACT_DATE],Mr=[V.NUMBER_OF_DAYS_AGO,V.NUMBER_OF_DAYS_FROM_NOW,V.THE_NEXT_NUMBERS_OF_DAYS,V.THE_PAST_NUMBERS_OF_DAYS],Lr=function(){function e(){N.default(this,e)}return M.default(e,null,[{key:"validate",value:function(e,r){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=e.column_key,n=e.filter_predicate,i=e.filter_term_modifier,o=e.filter_term,u=this.validateColumn(a,r).error_message;if(u)return{error_message:u};var s=r.find((function(e){return e.key===a})),l=this.validatePredicate(n,s).error_message;if(l)return{error_message:l};if(this.isFilterOnlyWithPredicate(n,s))return{error_message:null};var c=this.validateModifier(i,n,s).error_message;if(c)return{error_message:c};if(this.isFilterOnlyWithModifier(i,s))return{error_message:null};if(t){var _=this.validateTerm(o,n,i,s).error_message;if(_)return{error_message:_}}return{error_message:null}}},{key:"validateColumn",value:function(e,r){if(!e)return{error_message:ie.INCOMPLETE_FILTER};var t=r.find((function(r){return r.key===e}));return t?this.isValidColumnType(t)?{error_message:null}:{error_message:ie.COLUMN_NOT_SUPPORTED}:{error_message:ie.COLUMN_MISSING}}},{key:"validatePredicate",value:function(e,r){if(!e)return{error_message:ie.INCOMPLETE_FILTER};var t=r.type,a=r.data,n=re[t].filterPredicateList;if(ue[t]||t===C.LINK){var i=a.result_type;return i===oe.ARRAY?this.validatePredicateWithArrayType(e,r):this.validatePredicate(e,{type:i})}return n.includes(e)?{error_message:null}:{error_message:ie.UNMATCHED_PREDICATE}}},{key:"validatePredicateWithArrayType",value:function(e,r){var t=r.data.array_type;return t===C.CHECKBOX||t===C.BOOL?this.validatePredicate(e,{type:C.CHECKBOX}):!!yr.includes(e)||(t===C.SINGLE_SELECT?this.validatePredicate(e,{type:C.MULTIPLE_SELECT}):h.includes(t)?this.validatePredicate(e,{type:C.COLLABORATOR}):this.validatePredicate(e,{type:t}))}},{key:"isFilterOnlyWithPredicate",value:function(e,r){if(yr.includes(e))return!0;var t=r.type,a=r.data;if(ue[t]||t===C.LINK){var n=a.result_type,i=a.array_type;return n===oe.ARRAY?this.isFilterOnlyWithPredicate(e,{type:i}):this.isFilterOnlyWithPredicate(e,{type:n})}var o=Q.INCLUDE_ME;return!(e!==Q.IS_CURRENT_USER_ID||!Rr.includes(t))||!(e!==o||!h.includes(t))}},{key:"validateModifier",value:function(e,r,t){if(!Or(t))return{error_message:null};if(!e)return{error_message:ie.INCOMPLETE_FILTER};if(r===Q.IS_WITHIN){if(ae.includes(e))return{error_message:null}}else if(te.includes(e))return{error_message:null};return{error_message:ie.UNMATCHED_MODIFIER}}},{key:"isFilterOnlyWithModifier",value:function(e,r){return!!Or(r)&&!Nr.includes(e)}},{key:"validateTerm",value:function(e,r,t,a){return this.isTermMissing(e)?{error_message:ie.INCOMPLETE_FILTER}:this.isValidTerm(e,r,t,a)?{error_message:null}:{error_message:ie.INVALID_TERM}}},{key:"isTermMissing",value:function(e){return!e&&0!==e&&!1!==e||Array.isArray(e)&&0===e.length}},{key:"isValidTerm",value:function(e,r,t,a){switch(a.type){case C.TEXT:case C.GEOLOCATION:case C.AUTO_NUMBER:case C.EMAIL:case C.URL:case C.STRING:return this.isValidTermType(e,Tr);case C.SINGLE_SELECT:var n=Ze(a);return mr.includes(r)?!!this.isValidTermType(e,pr)&&this.isValidSelectedOptions(e,n):!!this.isValidTermType(e,Tr)&&!!n.find((function(r){return e===r.id}));case C.NUMBER:case C.DURATION:case C.RATE:return this.isValidTermType(e,dr);case C.CHECKBOX:case C.BOOL:return this.isValidTermType(e,Ar);case C.COLLABORATOR:case C.CREATOR:case C.LAST_MODIFIER:return this.isValidTermType(e,pr);case C.DEPARTMENT_SINGLE_SELECT:return mr.includes(r)?this.isValidTermType(e,pr):!![G.CURRENT_USER_DEPARTMENT,G.CURRENT_USER_DEPARTMENT_AND_SUB].includes(e)||this.isValidTermType(e,dr);case C.MULTIPLE_SELECT:if(!this.isValidTermType(e,pr))return!1;var i=Ze(a);return this.isValidSelectedOptions(e,i);case C.DATE:case C.CTIME:case C.MTIME:return Mr.includes(t)?this.isValidTermType(e,dr):this.isValidTermType(e,Tr);case C.FORMULA:case C.LINK_FORMULA:var o=a.data.result_type;return o===oe.ARRAY?this.isValidTermWithArrayType(e,r,t,a):this.isValidTerm(e,r,t,{type:o});case C.LINK:return this.isValidTermWithArrayType(e,r,t,a);default:return!1}}},{key:"isValidTermType",value:function(e,r){return r===pr?Array.isArray(e)&&e.length>0:r===C.NUMBER?m.default(e)===r||!isNaN(Number(e)):m.default(e)===r}},{key:"isValidTermWithArrayType",value:function(e,r,t,a){var n=a.data,i=n.array_type,o=n.array_data;return i===C.SINGLE_SELECT?this.isValidTerm(e,r,t,{type:C.MULTIPLE_SELECT,data:o}):h.includes(i)?this.isValidTerm(e,r,t,{type:C.COLLABORATOR}):this.isValidTerm(e,r,t,{type:i,data:o})}},{key:"isValidColumnType",value:function(e){var r=e.type,t=e.data;if(ue[r]||r===C.LINK){if(!t)return!1;var a=t.result_type,n=t.array_type;return a===oe.ARRAY?this.isValidColumnType({type:n}):this.isValidColumnType({type:a})}return re.hasOwnProperty(r)}},{key:"isValidSelectedOptions",value:function(e,r){var t=r.filter((function(r){return e.includes(r.id)}));return e.length===t.length}}]),e}();function Dr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Ir(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Dr(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Dr(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Cr=[V.TODAY,V.TOMORROW,V.YESTERDAY,V.ONE_WEEK_AGO,V.ONE_WEEK_FROM_NOW,V.ONE_MONTH_AGO,V.ONE_MONTH_FROM_NOW,V.NUMBER_OF_DAYS_AGO,V.NUMBER_OF_DAYS_FROM_NOW,V.EXACT_DATE],Sr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){var t=Lr.validate(e,r).error_message;return!t||t!==ie.INCOMPLETE_FILTER})):[]},Fr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return!Lr.validate(e,r).error_message})):[]},vr=function(e,r){var t=new Date,a=t.getFullYear(),n=t.getMonth(),i=t.getDate(),o=[31,28,31,30,31,30,31,31,30,31,30,31];switch(o[1]=a%4!=0||a%100==0&&a%400!=0?28:29,e){case V.TODAY:return new Date(a,n,i,0,0,0);case V.TOMORROW:return new Date(a,n,i+1);case V.YESTERDAY:return new Date(a,n,i-1);case V.ONE_WEEK_AGO:return new Date(a,n,i-7);case V.ONE_WEEK_FROM_NOW:return new Date(a,n,i+7);case V.ONE_MONTH_AGO:var u=n-1,s=0===n?11:u,l=i>o[s]?o[s]:i;return new Date(a,u,l);case V.ONE_MONTH_FROM_NOW:var c=n+1,_=11===n?0:c,f=i>o[_]?o[_]:i;return new Date(a,c,f);case V.NUMBER_OF_DAYS_AGO:return new Date(a,n,i-Number(r));case V.NUMBER_OF_DAYS_FROM_NOW:return new Date(a,n,i+Number(r));case V.EXACT_DATE:return new Date(r);case V.THE_PAST_WEEK:var E=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,i-E-6),endDate:new Date(a,n,i-E)};case V.THIS_WEEK:var O=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,i-O+1),endDate:new Date(a,n,i-O+7)};case V.THE_NEXT_WEEK:var d=0!==t.getDay()?t.getDay():7;return{startDate:new Date(a,n,i-d+8),endDate:new Date(a,n,i-d+14)};case V.THE_PAST_MONTH:var T=n-1;return{startDate:new Date(a,T,1),endDate:new Date(a,T,o[0===n?11:T])};case V.THIS_MONTH:return{startDate:new Date(a,n,1),endDate:new Date(a,n,o[n])};case V.THE_NEXT_MONTH:var A=n+1;return{startDate:new Date(a,A,1),endDate:new Date(a,A,11===n?o[0]:o[A])};case V.THE_PAST_YEAR:var p=a-1;return{startDate:new Date(p,0,1),endDate:new Date(p,11,31)};case V.THIS_YEAR:return{startDate:new Date(a,0,1),endDate:new Date(a,11,31)};case V.THE_NEXT_YEAR:var R=a+1;return{startDate:new Date(R,0,1),endDate:new Date(R,11,31)};case V.THE_NEXT_NUMBERS_OF_DAYS:return{startDate:new Date(a,n,i+1,0,0,0),endDate:new Date(a,n,i+Number(r))};case V.THE_PAST_NUMBERS_OF_DAYS:return{startDate:new Date(a,n,i-Number(r)),endDate:new Date(a,n,i,0,0,0)};default:return{}}},gr=function(e,r){var t=vr(e,r);if(Cr.includes(e))return he.format(t);var a=t.startDate,n=t.endDate;return{startDate:a?he.format(a):"",endDate:n?he.format(n):""}},hr=function e(r,t){var a=r.filter_term,n=r.filter_term_modifier,i=t.type,o=t.data,u=r;switch(i){case C.FORMULA:case C.LINK_FORMULA:var s=o.result_type,l=o.array_type,c=o.array_data;if(s===oe.DATE&&(u.other_date=gr(n,a)),s===oe.ARRAY){var _={type:l,data:c};u.linked_column=_,u=e(u,_)}break;case C.DATE:case C.CTIME:case C.MTIME:u.other_date=gr(n,a);break;case C.LINK:var f=o||{},E={type:f.array_type,data:f.array_data},O=Ir(Ir({},o),{},{result_type:oe.ARRAY}),d=Ir(Ir({},t),{},{data:O});u.column=d,u.linked_column=E,u=e(u,E)}return u},br=function(e){return e.map((function(e){return hr(e,e.column)}))},Yr=function(e,r){var t=[];return e.forEach((function(e){var a=e.column_key,n=Lr.validate(e,r).error_message;if(n){if(n!==ie.INCOMPLETE_FILTER)throw new Error(n)}else{var i=r.find((function(e){return e.key===a})),o=Ir(Ir({},e),{},{column:i});t.push(o)}})),t};function Ur(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Pr(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Ur(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ur(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Br=function(e,r){if(!e||!Array.isArray(r))return!1;var t=e.column_key,a=r.find((function(e){return e.key===t}));return!!a&&pe.includes(a.type)},xr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return Br(e,r)})):[]},wr=function(e,r,t,a){var n=xr(e,r),i=[];return n.forEach((function(e){var n=e.column_key,o=e.count_type,u=r.find((function(e){return n===e.key})),s=u.type,l=u.data,c=Pr(Pr({},e),{},{column:u});switch(s){case C.DATE:case C.CTIME:case C.MTIME:c.count_type=o||Oe.MONTH;break;case C.GEOLOCATION:c.count_type=o||Te.PROVINCE;break;case C.COLLABORATOR:var _={};a.collaborators.forEach((function(e){_[e.email]=!0})),c.collaborator_email_map=_;break;case C.LINK:var f=l.table_id,E=l.other_table_id,O=l.display_column_key,d=t?t._id:"",T=cr(d,f,E),A=Me(a.tables,T),p=Le(A,O);c.linked_table=A,c.display_column=p;break;case C.FORMULA:case C.LINK_FORMULA:Or(u)&&!o&&(c.count_type=Oe.MONTH)}i.push(c)})),i};function Hr(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Gr(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?Hr(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Hr(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var kr=function(e,r){var t=e&&r.find((function(r){return r.key===e.column_key}));return!!t&&_e.includes(t.type)},Xr=function(e,r){return Array.isArray(e)&&Array.isArray(r)?e.filter((function(e){return kr(e,r)})):[]},jr=function(e,r){var t=[];return e.forEach((function(e){var a=r[e];a>-1&&t.push(a)})),t.sort()},Kr=function(e,r){var t=Xr(e,r),a=[];return t.forEach((function(e){var t=e.column_key,n=r.find((function(e){return e.key===t})),i=n.type,o=Gr(Gr({},e),{},{column:n});switch(i){case C.SINGLE_SELECT:case C.MULTIPLE_SELECT:var u=Ze(n),s={};u.forEach((function(e,r){s[e.id]=r})),o.option_id_index_map=s}a.push(o)})),a},Vr=function(e,r){return Sr(e.filters,r).length>0},Wr=function(e,r){return xr(e.groupbys,r).length>0},Qr=function(e,r){return Xr(e.sorts,r).length>0},qr=function(e){return g.includes(Er(e))},Zr=function(e){return Er(e)===C.NUMBER},$r=function(e){return(e||0===e)&&"[object Number]"===Object.prototype.toString.call(e)},zr=function(e,r){return e===r||Math.abs(e-r)<1e-5},Jr=function(e,r,t){var a=e.columns.filter((function(e){return qr(e)}));if(0===a.length)return{};var n=fr(r)?r:De(e,r),i={};return a.forEach((function(e){var r,a,o,u=e.type,s=e.key,l=0,c=[],_=0;n.forEach((function(e){var n=e[s];if(ue[u]){var i=t&&t[e._id];n=i&&i[s],Array.isArray(n)&&1===n.length&&(n=n[0])}$r(n)&&(c.push(n),l+=1,_+=n,r=void 0===r||n<r?n:r,a=void 0===a||n>a?n:a)})),l>0&&(c.sort(),o=c.length%2==0?(c[c.length/2-1]+c[c.length/2])/2:c[parseInt(c.length/2)]);var f=0===l?0:_/l;i[s]={sum:_,average:f,median:o,max:a,min:r}})),i},et=function(e,r){var t=e.length,a={};return r.forEach((function(r){var n,i,o,u=[],s=0,l=0;e.forEach((function(e){var t=e.summaries[r.key],a=t.sum,n=t.average,c=t.median,_=t.max,f=t.min;s+=a||0,l+=n||0,$r(c)&&u.push(c),$r(_)&&(i=void 0===i||_>i?_:i),$r(f)&&(o=void 0===o||f<o?f:o)})),u.length>0&&(u.sort(),n=u.length%2==0?(u[u.length/2-1]+u[u.length/2])/2:u[parseInt(u.length/2)]),l/=t,a[r.key]={sum:s,average:l,median:n,max:i,min:o}})),a},rt=function(e){var r=e.key,t=e.name,a=e.data.display_column_key;return{key:r,name:t,type:C.LINK_FORMULA,data:{formula:"lookup",link_column_key:r,level1_linked_table_column_key:a,level2_linked_table_column_key:null,operated_columns:[]}}},tt=function(e,r){if(!Array.isArray(e)||!r||!Array.isArray(r.columns))return[];var t={};r.columns.forEach((function(e){var r=e.key,a=e.type;ue[a]?t[r]=e:a===C.LINK&&e.data&&(t[r]=rt(e))}));var a={},n=[];e.forEach((function(e){var r=e.key;a[r]||(a[r]=e,n.push(r))}));var i={},o={};n.forEach((function(e){var r=a[e].data.operated_columns;i[e]=0,Array.isArray(r)&&r.forEach((function(r){t[r]&&(i[e]+=1,o[r]?o[r].push(e):o[r]=[e])}))}));var u=[],s=[];for(n.forEach((function(e){0===i[e]&&s.push(e)}));s.length;){var l=s.shift(),c=o[l];u.push(l),Array.isArray(c)&&c.forEach((function(e){i[e]-=1,0===i[e]&&s.push(e)}))}return u.map((function(e){return t[e]}))},at=function(e){return e.columns.filter((function(e){var r=e.type,t=e.data;return r===C.LINK?!!t:ue[r]&&t})).map((function(e){return e.type===C.LINK?rt(e):e}))},nt=function(e,r){if(!e&&0!==e)return null;if("number"==typeof e)return e;if("string"!=typeof e)return null;var t,a,n,i,o=parseFloat(e.replace(/[^.-\d]/g,""));return"percent"!==r||isNaN(o)?isNaN(o)?null:o:(a=100,n=je(t=o),i=je(a),Ke(n/i,Xe(Math.pow(10,ke(a)-ke(t)))))},it=function(e,r){return(e||!1)===(r.filter_term||!1)},ot=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case Q.HAS_ANY_OF:return!Array.isArray(n)||0===n.length||Array.isArray(e)&&n.some((function(r){return e.includes(r)}));case Q.HAS_ALL_OF:return!Array.isArray(n)||0===n.length||Array.isArray(e)&&n.every((function(r){return e.includes(r)}));case Q.HAS_NONE_OF:return!Array.isArray(n)||0===n.length||!Array.isArray(e)||0===e.length||n.every((function(r){return e.indexOf(r)<0}));case Q.IS_EXACTLY:if(!Array.isArray(n)||0===n.length)return!0;if(!Array.isArray(e)||0===e.length)return!1;var i=D.default(new Set(e));return i.length===n.length&&n.every((function(e){return i.includes(e)}));case Q.EMPTY:return!Array.isArray(e)||0===e.length;case Q.NOT_EMPTY:return Array.isArray(e)&&e.length>0;case Q.INCLUDE_ME:return Array.isArray(e)&&e.indexOf(t)>-1;default:return!1}},ut=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case Q.CONTAINS:return!Array.isArray(n)||!!e&&n.findIndex((function(r){return r===e}))>-1;case Q.NOT_CONTAIN:return!Array.isArray(n)||!e||n.findIndex((function(r){return r===e}))<0;case Q.INCLUDE_ME:return e===t;case Q.IS:return!n||(Array.isArray(n)?e===n[0]:e===n);case Q.IS_NOT:return!n||(Array.isArray(n)?e!==n[0]:e!==n);default:return!1}},st=function(e,r){var t=r.filter_predicate,a=r.filter_term_modifier,n=r.filter_term,i=r.other_date;switch(t){case Q.IS:return a===V.EXACT_DATE&&!n||he.format(e)===i;case Q.IS_WITHIN:if(a===V.EXACT_DATE&&!n)return!0;if(!e)return!1;var o=i.startDate,u=i.endDate,s=he.format(e);return s>=o&&s<=u;case Q.IS_BEFORE:return a===V.EXACT_DATE&&!n||!(!e||!he.getValidDate(e))&&he.format(e)<i;case Q.IS_AFTER:return a===V.EXACT_DATE&&!n||!(!e||!he.getValidDate(e))&&he.format(e)>i;case Q.IS_ON_OR_BEFORE:return a===V.EXACT_DATE&&!n||!(!e||!he.getValidDate(e))&&he.format(e)<=i;case Q.IS_ON_OR_AFTER:return a===V.EXACT_DATE&&!n||!(!e||!he.getValidDate(e))&&he.format(e)>=i;case Q.IS_NOT:return a===V.EXACT_DATE&&!n||!(!e||!he.getValidDate(e))&&he.format(e)!==i;case Q.EMPTY:return!(e&&he.getValidDate(e));case Q.NOT_EMPTY:return!(!e||!he.getValidDate(e));default:return!1}},lt=function(e,r){switch(r.filter_predicate){case Q.EMPTY:return!e||(!e.username||!e.sign_time||!e.sign_image_url);case Q.NOT_EMPTY:return!!e&&!!(e.username&&e.sign_time&&e.sign_image_url);default:return!1}},ct=function(e,r){switch(r.filter_predicate){case Q.EMPTY:return!(e&&e.length>0);case Q.NOT_EMPTY:return!!(e&&e.length>0);default:return!1}},_t=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case Q.EQUAL:return!a&&0!==a||!(!e&&0!==e)&&zr(a,e);case Q.NOT_EQUAL:return!a&&0!==a||!e&&0!==e||!zr(a,e);case Q.LESS:return!a&&0!==a||!(!e&&0!==e||zr(e,a))&&e<a;case Q.GREATER:return!a&&0!==a||!(!e&&0!==e||zr(e,a))&&e>a;case Q.LESS_OR_EQUAL:return!a&&0!==a||!(!e&&0!==e)&&(!!zr(e,a)||e<a);case Q.GREATER_OR_EQUAL:return!a&&0!==a||!(!e&&0!==e)&&(zr(e,a)||e>a);case Q.EMPTY:return 0!==e&&(!e||"number"!=typeof e);case Q.NOT_EMPTY:return 0===e||!(!e||"number"!=typeof e);default:return!1}},ft=function(e,r,t){var a=r.filter_predicate,n=r.filter_term;switch(a){case Q.CONTAINS:return!n||!!e&&e.toString().toLowerCase().indexOf(n.toLowerCase())>-1;case Q.NOT_CONTAIN:return!n||!e||e.toString().toLowerCase().indexOf(n.toLowerCase())<0;case Q.IS:return!n||e===n;case Q.IS_NOT:return!n||e!==n;case Q.EMPTY:return!e;case Q.NOT_EMPTY:return!!e;case Q.IS_CURRENT_USER_ID:return!!t&&e===t;default:return!1}},Et=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case Q.HAS_ANY_OF:return 0===a.length||Array.isArray(e)&&e.some((function(e){return a.includes(e)}));case Q.HAS_ALL_OF:return 0===a.length||Array.isArray(e)&&a.every((function(r){return e.includes(r)}));case Q.HAS_NONE_OF:return 0===a.length||!Array.isArray(e)||0===e.length||a.every((function(r){return e.indexOf(r)<0}));case Q.IS_EXACTLY:if(0===a.length)return!0;if(!Array.isArray(e))return!1;var n=function(e){return D.default(new Set(e)).sort()};return n(e).toString()===n(a).toString();case Q.EMPTY:return!Array.isArray(e)||0===e.length;case Q.NOT_EMPTY:return Array.isArray(e)&&e.length>0;default:return!1}},Ot=[!0,"true"],dt=function(e,r,t){var a=t.username,n=t.userId,i=r.column,o=r.linked_column,u=r.filter_predicate;if(Array.isArray(e)){if(u===Q.EMPTY)return 0===e.length;if(u===Q.NOT_EMPTY)return e.length>0}if(!o)return ft("",r,n);var s=o.type;if(s===C.BOOL||s===C.CHECKBOX){var l=e;return Array.isArray(e)&&(l=e[0]),l=Ot.includes(l),it(l,r)}if(s===C.SINGLE_SELECT){var c=e;return e&&!Array.isArray(e)&&(c=[e]),Et(c,r)}if(s===C.MULTIPLE_SELECT)return Et(e,r);if(qr({type:s})){var _=e;if(Array.isArray(e)){var f=e.length;0===f?_="":1===f&&(_=e[0])}return _t(_,r)}if(v.includes(s)){var E=e;return Array.isArray(e)&&(E=String(e)),st(E,r)}if(h.includes(s))return ot(e,r,a);var O=or(e,i.data)||"";return ft(O,r,n)},Tt=function(e,r,t){var a=t.username,n=t.userId,i=r.column.data;switch((i||{}).result_type){case oe.NUMBER:return _t(e,r);case oe.DATE:return st(e,r);case oe.BOOL:var o=e;return"true"===e?o=!0:"false"===e&&(o=!1),it(o,r);case oe.ARRAY:return dt(e,r,{username:a,userId:n});default:return ft(or(e,i)||"",r,n)}},At=function(e,r){var t=r.filter_predicate,a=r.filter_term,n=r.column,i=we(e,n.data);switch(t){case Q.CONTAINS:return!a||!!i&&i.toString().toLowerCase().indexOf(a.toLowerCase())>-1;case Q.NOT_CONTAIN:return!a||!i||i.toString().toLowerCase().indexOf(a.toLowerCase())<0;case Q.IS:return!a||i===a;case Q.IS_NOT:return!a||i!==a;case Q.EMPTY:return!i;case Q.NOT_EMPTY:return!!i;default:return!1}},pt=function(e,r){var t=r.filter_predicate,a=e?e.text:null;switch(t){case Q.EMPTY:return!a;case Q.NOT_EMPTY:return!!a;default:return!1}},Rt=function(e,r){var t=r.filter_predicate,a=r.filter_term;switch(t){case Q.IS:return!a||e===a;case Q.IS_NOT:return!a||e!==a;case Q.IS_ANY_OF:return 0===a.length||a.includes(e);case Q.IS_NONE_OF:return 0===a.length||a.indexOf(e)<0;case Q.EMPTY:return!e;case Q.NOT_EMPTY:return!!e;default:return!1}},yt=function(e,r,t){var a=t.username,n=t.userId;return dt(e,r,{username:a,userId:n})},mt=function(e,r){var t=r&&r.current_user_department_ids;return!!Array.isArray(t)&&t.includes(e)},Nt=function(e,r){var t=r&&r.current_user_department_and_sub_ids;return!!Array.isArray(t)&&t.includes(e)},Mt=function(e,r,t){var a=t.formulaRow,n=t.username,i=t.userId,o=t.userDepartmentIdsMap,u=r.column_key,s=r.column,l=e[u];switch(s.type){case C.CHECKBOX:return it(l,r);case C.SINGLE_SELECT:return Rt(l,r);case C.MULTIPLE_SELECT:return Et(l,r);case C.DEPARTMENT_SINGLE_SELECT:return function(e,r,t){var a=r.filter_predicate,n=r.filter_term;if(0===e)return!1;switch(a){case Q.IS:return!n||(n===G.CURRENT_USER_DEPARTMENT?mt(e,t):n===G.CURRENT_USER_DEPARTMENT_AND_SUB?Nt(e,t):e===n);case Q.IS_NOT:return!n||(n===G.CURRENT_USER_DEPARTMENT?!mt(e,t):n===G.CURRENT_USER_DEPARTMENT_AND_SUB?!Nt(e,t):e!==n);case Q.IS_ANY_OF:return 0===n.length||(n.includes(G.CURRENT_USER_DEPARTMENT_AND_SUB)?Nt(e,t)||n.includes(e):n.includes(G.CURRENT_USER_DEPARTMENT)&&mt(e,t)||n.includes(e));case Q.IS_NONE_OF:return!(0!==n.length&&(n.includes(G.CURRENT_USER_DEPARTMENT_AND_SUB)?Nt(e,t)||n.includes(e):n.includes(G.CURRENT_USER_DEPARTMENT)&&mt(e,t)||n.includes(e)));case Q.EMPTY:return!e||"number"!=typeof e;case Q.NOT_EMPTY:return!(!e||"number"!=typeof e);default:return!1}}(l,r,o);case C.DURATION:case C.NUMBER:case C.RATE:return _t(l,r);case C.DATE:return st(l,r);case C.CTIME:case C.MTIME:return l=he.format(l,U.YYYY_MM_DD_HH_MM_SS),st(l,r);case C.COLLABORATOR:return ot(l,r,n);case C.LONG_TEXT:return pt(l,r);case C.TEXT:case C.AUTO_NUMBER:case C.EMAIL:case C.URL:return ft(l,r,i);case C.IMAGE:case C.FILE:return ct(l,r);case C.LAST_MODIFIER:case C.CREATOR:return ut(l,r,n);case C.GEOLOCATION:return At(l,r);case C.FORMULA:case C.LINK_FORMULA:return l=a[u],Tt(l,r,{username:n,userId:i});case C.LINK:return l=a[u],l=Array.isArray(l)?l.map((function(e){return e.display_value})):null,yt(l,r,{username:n,userId:i});case C.DIGITAL_SIGN:return lt(l,r);default:return!1}},Lt=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.formulaRow,i=void 0===n?{}:n,o=a.username,u=void 0===o?"":o,s=a.userId,l=a.userDepartmentIdsMap,c=void 0===l?{}:l;return r===ne.AND?t.every((function(r){return Mt(e,r,{formulaRow:i,username:u,userId:s,userDepartmentIdsMap:c})})):r===ne.OR&&t.some((function(r){return Mt(e,r,{formulaRow:i,username:u,userId:s,userDepartmentIdsMap:c})}))},Dt=function(e,r,t,a){var n=a.formulaRows,i=a.username,o=a.userId,u=a.userDepartmentIdsMap,s=[],l=br(r);return t.forEach((function(r){var t=r._id,a=n&&n[t]?n[t]:{};Lt(r,e,l,{formulaRow:a,username:i,userId:o,userDepartmentIdsMap:u})&&s.push(t)})),s},It=function(e,r,t){var a=e?1:-1,n=r?1:-1;return a>n?t===ce.UP?1:-1:a<n?t===ce.UP?-1:1:0},Ct=function(e,r){if(!e&&!r)return 0;if(!e)return-1;if(!r)return 1;if("string"!=typeof e||"string"!=typeof r)return 0;for(var t,a,n=e.match(Re),i=r.match(Re),o=Math.min(n.length,i.length),u=0;u<o;u++){if(t=n[u],a=i[u],ye.test(t)&&ye.test(a)){if((t=parseInt(t))>(a=parseInt(a)))return 1;if(t<a)return-1}if(t!==a)return e.localeCompare(r)}return e.localeCompare(r)},St=function(e,r,t){var a=!e,n=!r;return a&&n?0:a?1:n?-1:r===e?0:t===ce.UP?Ct(e,r):-1*Ct(e,r)},Ft=function(e,r,t){var a=Array.isArray(e)&&e.length?e.join(""):null,n=Array.isArray(r)&&r.length?r.join(""):null;return St(a,n,t)},vt=function(e,r,t){var a=!e,n=!r;return a&&n?0:a?1:n?-1:e>r?t===ce.UP?1:-1:e<r?t===ce.UP?-1:1:0},gt=function(e,r,t){var a=!e&&0!==e,n=!r&&0!==r;return a&&n?0:a?1:n?-1:e>r?t===ce.UP?1:-1:e<r?t===ce.UP?-1:1:0},ht=function(e,r,t,a){var n=a.columnData,i=a.value,o=(n||{}).array_type;if(g.includes(o)){var u=e,s=r;return Array.isArray(e)&&(u=e[0]),Array.isArray(r)&&(s=r[0]),gt(u=u||0===u?u:null,s=s||0===s?s:null,t)}if(v.includes(o)){var l=Array.isArray(e)?e[0]:e,c=Array.isArray(r)?r[0]:r;return vt(l,c,t)}if(o===C.CHECKBOX||o===oe.BOOL){var _=e,f=r;return Array.isArray(e)&&(_=e[0]),Array.isArray(r)&&(f=r[0]),It(_=_||!1,f=f||!1,t)}if(o===C.COLLABORATOR){var E=i.collaborators,O=Array.isArray(e)?e:[e],d=Array.isArray(r)?r:[r];return E&&(O=be(O,E),d=be(d,E)),Ft(O,d,t)}var T=or(e,n),A=or(r,n);return St(T,A,t)},bt=function(e,r,t,a){var n=a.columnData,i=a.value,o=(n||{}).result_type;if(Ee.includes(o))return gt(e||0===e?e-0:null,r||0===r?r-0:null,t);if(v.includes(o))return vt(e,r,t);if(o===oe.BOOL)return It(e||!1,r||!1,t);if(o===oe.ARRAY)return ht(e,r,t,{columnData:n,value:i});var u=or(e,n),s=or(r,n);return St(u,s,t)},Yt=function(e,r,t,a){var n=a.columnData,i=a.value,o=!Array.isArray(e)||0===e.length,u=!Array.isArray(r)||0===r.length;if(o&&u)return 0;if(o)return 1;if(u)return-1;var s=e.map((function(e){return e.display_value})),l=r.map((function(e){return e.display_value}));return ht(s,l,t,{columnData:n,value:i})},Ut=function(e,r,t){var a=t.sort_type,n=t.option_id_index_map,i=!e||0===e.length,o=!r||0===r.length;if(i&&o)return 0;if(i)return 1;if(o)return-1;var u=jr(e,n),s=jr(r,n),l=u.length,c=s.length;if(l===c&&(0===l||u.join("")===s.join("")))return 0;for(var _=Math.min(l,c),f=0;f<_;f++){if(u[f]>s[f])return a===ce.UP?1:-1;if(u[f]<s[f])return a===ce.UP?-1:1}return l>c?a===ce.UP?1:-1:a===ce.UP?-1:1},Pt=function(e,r,t){var a=t.sort_type,n=t.option_id_index_map,i=n[e],o=n[r],u=!i&&0!==i,s=!o&&0!==o;return u&&s?0:u?1:s?-1:i>o?a===ce.UP?1:-1:i<o?a===ce.UP?-1:1:0},Bt=function(e,r,t){var a=t.formulaRows,n=void 0===a?{}:a,i=t.value;e.sort((function(e,t){var a=0;return r.forEach((function(r){var o=r.column_key,u=r.sort_type,s=r.column,l=s.type,c=s.data,_=e[o],f=t[o];if(v.includes(l))a=a||vt(_,f,u);else if(l===C.SINGLE_SELECT)a=a||Pt(_,f,r);else if(Ee.includes(l))a=a||gt(_,f,u);else if(ue[l]){var E=n[e._id]||{},O=n[t._id]||{};_=E[o],f=O[o],a=a||bt(_,f,u,{columnData:c,value:i})}else if(l===C.COLLABORATOR){var d=i.collaborators,T=_,A=f;d&&(T=be(_,d),A=be(f,d)),a=a||Ft(T,A,u)}else if(l===C.CHECKBOX)a=a||It(_,f,u);else if(l===C.MULTIPLE_SELECT)a=a||Ut(_,f,r);else if(l===C.LINK){var p=n[e._id]||{},R=n[t._id]||{};_=p[o],f=R[o],a=a||Yt(_,f,u,{columnData:c,value:i})}else a=a||St(_,f,u)})),a}))},xt=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.formulaRows,i=a.value;if(!Array.isArray(r)||0===r.length)return[];var o=r.slice(0),u=Kr(e,t);return Bt(o,u,{formulaRows:n||{},value:i}),o.map((function(e){return e._id}))};function wt(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function Ht(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?wt(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):wt(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var Gt=function(e,r,t){var a=t.column_key,n=t.column,i=e[a],o=n.type;return ue[o]?(r[e._id]||{})[a]:o===C.LINK?(r[e._id]||{})[a]||[]:i},kt=function(e,r){var t=r.column,a=r.count_type,n=t.type,i=t.data;switch(n){case C.TEXT:case C.URL:case C.EMAIL:case C.LAST_MODIFIER:case C.CREATOR:return e||null;case C.DATE:case C.CTIME:case C.MTIME:return he.getDateByGranularity(e,a)||null;case C.NUMBER:case C.DURATION:case C.RATE:return e||0===e?e:null;case C.CHECKBOX:return!!e;case C.SINGLE_SELECT:return e||null;case C.MULTIPLE_SELECT:return Array.isArray(e)?e:[];case C.COLLABORATOR:if(!Array.isArray(e))return[];var o=r.collaborator_email_map;return e.filter((function(e){return o[e]}));case C.GEOLOCATION:return He(e,a);case C.FORMULA:case C.LINK_FORMULA:var u=(i||{}).result_type;if(u===oe.NUMBER)return e||0===e?e:null;if(u===oe.DATE)return he.getDateByGranularity(e,a)||null;if(u===oe.BOOL)return!!e;if(u===oe.ARRAY){var s=e;return Or(t)&&Array.isArray(e)&&e.length>0?he.getDateByGranularity(e[0],a)||null:or(s,i)||null}return e||null;case C.LINK:return Array.isArray(e)&&0!==e.length?e.map((function(e){return e.display_value})):[];default:return null}},Xt=function(e,r){var t=null;return K[r]?t="string"==typeof e?e:String(e):j[r]&&(t=D.default(e).sort().toString()),t},jt=function(e,r,t){var a=r[e];return a&&a.index>-1?a.index:(r[e]={},r[e].subgroups={},r[e].index=t,-1)},Kt=function e(r,t,a,n){var i=t[n],o=i.column,u=i.sort_type,s=a.collaborators,l=o.type,c=o.data,_=u||ce.UP,f={};if(l===C.SINGLE_SELECT||l===C.MULTIPLE_SELECT){var E=(c||{}).options;Array.isArray(E)&&E.forEach((function(e,r){f[e.id]=r}))}if(r.sort((function(e,r){var t=e.cell_value,n=r.cell_value;if(_e.includes(l)){var i;if(fe.includes(l))i=St(t,n,_);else if(Ee.includes(l))i=gt(t,n,_);else if(v.includes(l))i=vt(t,n,_);else if(l===C.CHECKBOX)i=It(t,n,_);else if(l===C.COLLABORATOR){var o=t,u=n;s&&(o=be(o,s),u=be(u,s)),i=Ft(o,u,_)}else if(l===C.SINGLE_SELECT)i=Pt(t,n,{sort_type:_,option_id_index_map:f});else if(l===C.MULTIPLE_SELECT)i=Ut(t,n,{sort_type:_,option_id_index_map:f});else if(ue[l]){var E=e.original_cell_value,O=r.original_cell_value;i=bt(E,O,_,{columnData:c,value:a})}else if(l===C.LINK){var d=e.original_cell_value,T=r.original_cell_value;i=Yt(d,T,_,{columnData:c,value:a})}return i}return""===t?1:""===n?-1:0})),Array.isArray(r[0].subgroups)&&r[0].subgroups.length>0){var O=n+1;r=r.map((function(r){var n=e(r.subgroups,t,a,O);return Ht(Ht({},r),{},{subgroups:n})}))}return r},Vt=function(e,r,t,a){if(0===e.length)return[];if(e.length>1)return function(e,r,t,a){var n=e.length>3?e.slice(0,3):D.default(e),i=[],o={};return r.forEach((function(e){for(var r,a,u=e._id,s=0;s<n.length;s++){var l=n[s],c=l.column,_=l.column_key,f=c.type,E=Gt(e,t,l),O=kt(E,l),d=Xt(O,f),T={cell_value:O,original_cell_value:E,row_ids:null,column_key:_,subgroups:[],summaries:{}};if(0===s){var A=jt(d,o,i.length);a=o[d].subgroups,A<0?(i.push(T),r=i[i.length-1]):r=i[A]}else{var p=jt(d,a,r.subgroups.length);a=a[d].subgroups,p<0?(r.subgroups.push(T),r=r.subgroups[r.subgroups.length-1]):r=r.subgroups[p],s===n.length-1&&(r.row_ids?r.row_ids.push(u):r.row_ids=[u])}}})),i=Kt(i,n,a,0)}(e,r,t,a);var n=e[0],i=n.column_key,o=n.column.type,u=[],s={};return r.forEach((function(e){var r=Gt(e,t,n),a=kt(r,n),l=function(e,r,t){var a=r[e];return a>-1?a:(r[e]=t,-1)}(Xt(a,o),s,u.length);l>-1?u[l].row_ids.push(e._id):u.push({cell_value:a,original_cell_value:r,column_key:i,row_ids:[e._id],subgroups:null,summaries:{}})})),u=Kt(u,e,a,0)},Wt=function(e,r,t,a,n){if(0===t.length)return[];var i=De(r,t);return Vt(e,i,a,n)},Qt=function(){function e(r){var t=r.colorType,a=r.max,n=r.min;N.default(this,e);var i=me[t||"color_gradation_1"];this.startColor=this.hexToRgb(i[0]),this.endColor=this.hexToRgb(i[4]),this.min=n,this.max=a,this.computeMap={}}return M.default(e,[{key:"hexToRgb",value:function(e){var r=e.toLowerCase();if(r&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r)){if(4===r.length){for(var t="#",a=1;a<4;a+=1)t+=r.slice(a,a+1).concat(r.slice(a,a+1));r=t}for(var n=[],i=1;i<7;i+=2)n.push(parseInt("0x".concat(r.slice(i,i+2))));return"RGB(".concat(n.join(","),")")}return r}},{key:"getColorGradation",value:function(e,r,t,a,n){var i=e.split(","),o=parseInt(i[0].split("(")[1]),u=parseInt(i[1]),s=parseInt(i[2].split(")")[0]),l=r.split(","),c=parseInt(l[0].split("(")[1]),_=parseInt(l[1]),f=parseInt(l[2].split(")")[0]),E=Math.round(o-(o-c)/(t-a)*(t-n)),O=Math.round(u-(u-_)/(t-a)*(t-n)),d=Math.round(s-(s-f)/(t-a)*(t-n));return"rgb(".concat(E,", ").concat(O,", ").concat(d,")")}},{key:"getCellColor",value:function(e){if(this.computeMap[e])return this.computeMap[e];if(e==this.min)return this.computeMap[e]?this.computeMap[e]=this.startColor:this.computeMap=y.default({},e,this.startColor),this.computeMap[e];if(e==this.max)return this.computeMap[e]?this.computeMap[e]=this.endColor:this.computeMap=y.default({},e,this.endColor),this.computeMap[e];if(e>this.min&&e<this.max){var r=this.startColor,t=this.endColor,a=this.min,n=this.max,i=this.getColorGradation(r,t,a,n,e);return this.computeMap[e]=i,this.computeMap[e]}return null}}]),e}(),qt="by_column",Zt="by_rules",$t="by_duplicate_values",zt=[C.TEXT,C.NUMBER,C.DATE,C.DURATION,C.EMAIL,C.URL,C.RATE,C.CHECKBOX,C.COLLABORATOR,C.SINGLE_SELECT,C.MULTIPLE_SELECT,C.GEOLOCATION,C.FORMULA,C.CREATOR,C.LAST_MODIFIER],Jt="#F4667C";function ea(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function ra(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ea(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ea(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var ta=function(e,r){var t=e.filters;return!(!t||0===t.length)&&t.some((function(e){return!Lr.validate(e,r).error_message}))},aa=function(e,r){return e.filter((function(e){return ta(e,r)}))},na=function(e,r,t){for(var a=t.collaborators,n=[],i=function(){var t=r[o],i=e.find((function(e){return e.key===t}));if(!i)return"continue";var u=i.type,s=i.data;if(!zt.includes(u))return"continue";if(u===C.SINGLE_SELECT||u===C.MULTIPLE_SELECT)s=function(e){if(!Array.isArray(e)||0===e.length)return{};var r={};return e.forEach((function(e){r[e.id]=!0})),r}(Ze(i));else if(u===C.COLLABORATOR){var l={};Array.isArray(a)&&a.forEach((function(e){l[e.email]=!0})),s=l}n.push({key:t,type:u,data:s})},o=0;o<r.length;o++)i();return n},ia=function(e,r,t){if(!e)return"";var a=r.map((function(r){var a=r.type,n=r.data,i=r.key,o=e[i];switch(a){case C.SINGLE_SELECT:return n[o]?o:"";case C.MULTIPLE_SELECT:case C.COLLABORATOR:return Array.isArray(o)&&0!==o.length?o.filter((function(e){return n[e]})).sort().join(""):"";case C.GEOLOCATION:return o&&we(o,n)||"";case C.NUMBER:return o||0===o?o:"";case C.FORMULA:return t?o=t[i]:"";default:return o||""}})).join("_seatable_join_key_");return a?("function"!=typeof"".replaceAll&&(String.prototype.replaceAll=function(e,r){return this.replace(new RegExp(e,"gm"),r)}),a.replaceAll("_seatable_join_key_","")?a:""):""},oa=function(e,r,t){var a={},n=Le(t,r),i=Ze(n);if(!Array.isArray(i)||0===i.length)return{};var o={};return i.forEach((function(e){o[e.id]=e.color})),e.forEach((function(e){var t=e[r],n=t?o[t]:"";n&&(a[e._id]=n)})),a},ua=function(e,r,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=a.username,i=a.userId,o=a.userDepartmentIdsMap,u=r.formula_rows,s=r.colorbys||{},l=s.type,c=s.color_by_rules;if(l!==Zt)return{};var _=t.columns,f=aa(c,_),E=f.length,O={};return 0===E?{}:(f=f.map((function(e){var r,t=e.filters;try{r=Yr(t,_)}catch(e){r=[]}return r=br(r),ra(ra({},e),{},{filters:r})})),e.forEach((function(e){for(var r=e._id,t=u&&u[r]||{},a=0;a<E;a++){var s=f[a],l=s.color,c=s.filter_conjunction,_=s.filters;if(Lt(e,c,_,{formulaRow:t,username:n,userId:i,userDepartmentIdsMap:o})){O[r]=l;break}}})),O)},sa=function(e,r,t,a){var n=a.collaborators,i=r.colorbys,o=r.formula_rows,u=i.color_by_duplicate_column_keys;if(!Array.isArray(u)||0===u.length)return{};var s=t.columns,l=na(s,u,{collaborators:n});if(0===l.length)return{};for(var c={},_={},f=0;f<e.length;f++){var E=e[f],O=E._id,d=o&&o[O],T=ia(E,l,d);if(T){var A=_[T];if(A&&A.length>0){c[O]=Jt,A.push(O);var p=A[0];c[p]||(c[p]=Jt)}else _[T]=[O]}}return{colors:c,duplicate_rows_ids_map:_}},la={isValidRowColorRule:ta,getValidRowColorRules:aa,getRowsColor:function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=n.username,o=n.userId,u=n.userDepartmentIdsMap,s=r.colorbys;if(!s)return{};var l=fr(e)?e:De(t,e);if(0===l.length)return{};var c=s.type,_=s.color_by_column;switch(c){case qt:return{colors:oa(l,_,t)};case Zt:return{colors:ua(l,r,t,{username:i,userId:o,userDepartmentIdsMap:u})};case $t:var f=(a||{}).collaborators;return sa(l,r,t,{collaborators:void 0===f?[]:f});default:return{}}},getFormattedDuplicateColumns:na,getDuplicateRowValue:ia,getRowsColorBySingleSelectColumn:oa,getRowsColorByRules:ua,getRowsColorByDuplicateValues:sa};function ca(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function _a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ca(Object(t),!0).forEach((function(r){y.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ca(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var fa=[C.LINK,C.FORMULA,C.LINK_FORMULA],Ea="by_rules",Oa="by_numeric_range",da="by_repeat_value",Ta=function(e){var r=e&&e.colorbys;if(!r)return!1;var t=r.type,a=r.color_by_rules,n=r.range_settings,i=r.repeat_value_settings;return t===Ea?a&&Array.isArray(a)&&a.length>0:t===da?i:n&&Object.keys(n).length>0},Aa=function(e){var r=[e],t=e.colorbys,a=t.type,n=t.color_by_rules;return a===Ea?n.some((function(e){var t=e.filters;return 0!==t.length&&t.some((function(e){return!Lr.validate(e,r).error_message}))})):a===da||a===Oa&&Zr(e)},pa=function(e){var r=e.filter((function(e){return Ta(e)}));if(0===r.length)return[];var t=r.filter((function(e){return Aa(e)}));return 0===t.length?[]:t},Ra=function(e,r,t,a,n){var i=n.username,o=n.userId,u={column_key:e.key,filter_predicate:"is_not_empty",filter_term:"",column:e},s=r.formula_rows,l=Dt(ne.AND,[u],t.rows,{formulaRows:s,username:i,userId:o}),c={sort_type:"up",column_key:e.key},_=De(t,l),f=xt([c],_,[e],{formulaRows:s,value:a});return De(t,f)},ya=function(e,r,t){var a=r.key,n=r.type,i=e[a];if(fa.includes(n)){var o=t&&t[e._id]||{};if(C.LINK===n){var u=o[a]&&Array.isArray(o[a])?o[a]:[],s=(u.length>0?u[0]:{}).display_value;i=void 0===s?null:s}else{var l=o[a];i=Array.isArray(l)?l[0]:l}}return i},ma=function(e,r,t,a,n,i){var o=i.username,u=i.userId,s=I.default(e),l=s.colorbys,c=l.type,_=l.color_by_rules,f=l.range_settings,E=l.repeat_value_settings,O=l.duplicate_column_key;if(c===Ea){var d=_.map((function(r){var t=r.filters,a=[];try{a=Yr(t,[e])}catch(e){a=[]}return a=br(a),_a(_a({},r),{},{filters:a})}));return s.colorbys=_a(_a({},l),{},{color_by_rules:d}),s}if(c===da){for(var T=(a||{}).collaborators,A=la.getFormattedDuplicateColumns([s],[O],{collaborators:void 0===T?[]:T}),p={},R=r.formula_rows,y=0;y<n.length;y++){var m=n[y],N=m._id,M=R&&R[N],L=la.getDuplicateRowValue(m,A,M);if(L){var D=p[L];D&&D.length>0?D.push(N):p[L]=[N]}}return s.duplicate_rows_ids_map=p,s.colorbys=_a(_a({},l),{},{repeat_value_settings:E}),s}if(!Zr(e))return s.gradientColorUtils=null,s.colorbys=_a(_a({},l),{},{range_settings:{}}),s;var C=f.color_type,S=f.is_custom_start_value,F=f.is_custom_end_value,v=f.start_value,g=f.end_value,h=v,b=g;if((!S||!F)&&t.rows.length>0){var Y=Ra(e,r,t,a,{username:o,userId:u}),U=r.formula_rows;if(Y.length>0){var P=Y[0],B=Y[Y.length-1],x=ya(P,e,U),w=ya(B,e,U);h=S?v:x,b=F?g:w}}var H=new Qt({colorType:C,min:h,max:b});return s.gradientColorUtils=H,s},Na=function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=n.username,o=void 0===i?"":i,u=n.userId,s=void 0===u?"":u,l=t.columns,c=pa(l);if(0===c.length)return{};c=c.map((function(n){return ma(n,r,t,a,e,{username:o,userId:s})}));for(var _={},f=r.formula_rows,E=fr(e)?e:De(t,e),O=E.length,d=function(){for(var e=E[T],r={},t=e._id,n=f&&f[t]||{},i=0;i<c.length;i++){var u=c[i],l=u.key,O=u.colorbys,d=u.duplicate_rows_ids_map,A=void 0===d?{}:d,p=O.type,R=O.color_by_rules,y=O.range_settings,m=O.repeat_value_settings,N=O.duplicate_column_key;if(p===Ea)for(var M=0;M<R.length;M++){var L=R[M],D=L.filter_conjunction,I=L.filters,C=L.color;if(Lt(e,D,I,{formulaRow:n,username:o,userId:s})){r[l]=C;break}}if(p===da){var S=m.color,F=(a||{}).collaborators,v=la.getFormattedDuplicateColumns([u],[N],{collaborators:void 0===F?[]:F}),g=la.getDuplicateRowValue(e,v,n);if(!g)continue;var h=A[g];if(h&&h.length>1)if(h.some((function(e){return e===t}))){r[l]=S;var b=h[0];_[b]||(_[b]=r)}}if(p===Oa){if(0===Object.keys(y).length)break;var Y=ya(e,u,f);if(Y||0===Y){var U=u.gradientColorUtils.getCellColor(Y);U&&(r[l]=U)}}}Object.keys(r).length>0&&(_[t]=r)},T=0;T<O;T++)d();return _},Ma={isColumnHasColorRules:Ta,hasRelatedColumnColorRule:function(e,r){return e.some((function(e){return r[e.key]&&Ta(e)}))},isColumnColorRulesValid:Aa,isColumnColorsView:function(e){return e.some((function(e){return!!Ta(e)&&!!Aa(e)}))},getValidRulesColumns:pa,getSortedViewRows:Ra,getCellValue:ya,getFormattedColumn:ma,getColumnColors:Na,updateColumnColorsByUpdateRows:function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=n.username,o=void 0===i?"":i,u=n.userId,s=void 0===u?"":u,l=t.columns,c=pa(l);if(0===c.length)return{};var _=c.some((function(e){return e.colorbys.type===Oa})),f=c.some((function(e){return e.colorbys.type===da}));if(_||f)return r.column_colors=Na(t.rows,r,t,a,{username:o,userId:s}),r.column_colors;var E=fr(e)?e:De(t,e),O=Na(E,r,t,a,{username:o,userId:s}),d=r.column_colors;return d||(d={},r.column_colors=d),E.forEach((function(e){var r=e._id,t=O[r];d[r]=t})),r.column_colors}};exports.COLLABORATOR_COLUMN_TYPES=h,exports.COLOR_GRADATION_OPTIONS=me,exports.COLUMNS_ICON_CONFIG=S,exports.COLUMN_OPTIONS=F,exports.COLUMN_PERMISSION_TYPE={NONE:"none",ADMINS:"admins",SPECIFIC_USERS:"specific_users"},exports.CellType=C,exports.ColumnColorUtils=Ma,exports.DATE_COLUMN_OPTIONS=v,exports.DATE_DEFAULT_TYPES={SPECIFIC_DATE:"specific_date",CURRENT_DATE:"current_date",DAYS_BEFORE:"days_before",DAYS_AFTER:"days_after"},exports.DATE_FORMAT_MAP=U,exports.DATE_UNIT=Y,exports.DEFAULT_DATE_FORMAT=b,exports.DEFAULT_NUMBER_FORMAT=H,exports.DEPARTMENT_SELECT_RANGE_MAP=G,exports.DISPLAY_GROUP_DATE_GRANULARITY=de,exports.DISPLAY_GROUP_GEOLOCATION_GRANULARITY=Ae,exports.DISPLAY_INTERNAL_ERRORS=se,exports.DURATION_DECIMAL_DIGITS=x,exports.DURATION_FORMATS=B,exports.DURATION_FORMATS_MAP=P,exports.DURATION_ZERO_DISPLAY=w,exports.DateUtils=he,exports.FILL_DEFAULT_VALUE_COLUMNS_TYPE=k,exports.FILTER_COLUMN_OPTIONS=re,exports.FILTER_CONJUNCTION_TYPE=ne,exports.FILTER_ERR_MSG=ie,exports.FILTER_PREDICATE_SHOW=q,exports.FILTER_PREDICATE_TYPE=Q,exports.FILTER_TERM_MODIFIER_SHOW=W,exports.FILTER_TERM_MODIFIER_TYPE=V,exports.FORMULA_COLUMN_TYPES_MAP=ue,exports.FORMULA_RESULT_TYPE=oe,exports.GROUP_DATE_GRANULARITY=Oe,exports.GROUP_GEOLOCATION_GRANULARITY=Te,exports.GradientColorUtils=Qt,exports.HEADER_HEIGHT_TYPE={DEFAULT:"default",DOUBLE:"double"},exports.HIGHLIGHT_COLORS={"#FFE8E6":"#FF6052","#FFDED5":"#FF714A","#FFE7D1":"#FF851A","#EED5FF":"#B64DFD","#DAD7FF":"#5F4CFF","#D7E8FF":"#3C8FFF","#D8FAFF":"#41E7FF","#DDFFE6":"#16BA51","#E9E9E9":"#999999","#FBD44A":"#E5C142","#EAA775":"#D59361","#F4667C":"#DC556A","#DC82D2":"#D166C5","#9860E5":"#844BD2","#9F8CF1":"#8F75E2","#59CB74":"#4EB867","#ADDF84":"#9CCF72","#89D2EA":"#7BC0D6","#4ECCCB":"#45BAB9","#46A1FD":"#3C8FE4","#C2C2C2":"#ADADAD","#FFFCB5":"#E8E79D","#FFEAB6":"#ECD084","#FFD9C8":"#EFBAA3","#FFDDE5":"#EDC4C1","#FFD4FF":"#E6B6E6","#DEF7C4":"#C5EB9E","#B7CEF9":"#96B2E1"},exports.MAX_GROUP_LEVEL=3,exports.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP=j,exports.NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP=X,exports.NUMBER_SORTER_COLUMN_TYPES=Ee,exports.NUMERIC_COLUMNS_TYPES=g,exports.REG_NUMBER_DIGIT=ye,exports.REG_STRING_NUMBER_PARTS=Re,exports.RowColorUtils=la,exports.SELECT_OPTION_COLORS=le,exports.SINGLE_CELL_VALUE_COLUMN_TYPE_MAP=K,exports.SORT_COLUMN_OPTIONS=_e,exports.SORT_TYPE=ce,exports.SUPPORT_GROUP_COLUMN_TYPES=pe,exports.TEXT_SORTER_COLUMN_TYPES=fe,exports.UTC_FORMAT_DEFAULT="YYYY-MM-DDTHH:mm:ss.SSSZ",exports.ValidateFilter=Lr,exports.checkboxFilter=it,exports.collaboratorFilter=ot,exports.compareString=Ct,exports.convertRow=function(e,r,t,a,n,i){var o=(arguments.length>6&&void 0!==arguments[6]?arguments[6]:{}).debug,u={};e.hasOwnProperty("_id")&&(u._id=e._id),e.hasOwnProperty("_mtime")&&(u._mtime=e._mtime),e.hasOwnProperty("_ctime")&&(u._ctime=e._ctime);var s=t.columns;s.length>500&&(s=s.slice(0,500));for(var l=a?a.hidden_columns:null,c=0;c<s.length;c++){var _=s[c],f=_.key,E=_.type,O=_.name;if(!l||!l.includes(f)){var d=e[f];switch(E){case C.SINGLE_SELECT:if(!_.data){o&&o("No options found");break}u[O]=rr(_,d);break;case C.MULTIPLE_SELECT:if(!_.data){o&&o("No options found");break}if(!Array.isArray(d)){u[O]="";break}for(var T=[],A=0;A<d.length;A++){var p=rr(_,d[A]);p&&T.push(p)}u[O]=T;break;case C.LONG_TEXT:u[O]=d?d.text:"";break;case C.LINK:if(!_.data){o&&o("No links found");break}if(i){var R=n&&n[e._id],y=R&&R[f];if(!Array.isArray(y)||0===y.length){u[O]=null;break}u[O]=y;break}var m=t._id,N=_.data,M=N.link_id,L=N.table_id,D=N.other_table_id,I=m===L?D:L,S=r.links;u[O]=_r(S,M,m,I,e._id);break;case C.FORMULA:case C.LINK_FORMULA:if(!_.data||!n){o&&o("No formula found");break}var F=n[e._id]||{};u[O]=or(F[f],_.data);break;default:u[O]=d}Ne(u[O])&&delete u[O]}}return u},exports.createOption=ze,exports.creatorFilter=ut,exports.dateFilter=st,exports.deleteInvalidFilter=Yr,exports.deleteInvalidGroupby=wr,exports.deleteInvalidSort=Kr,exports.digitalSignFilter=lt,exports.fileFilter=ct,exports.filterRow=Lt,exports.filterRows=Dt,exports.filterTermModifierIsWithin=ae,exports.filterTermModifierNotWithin=te,exports.formatDurationToNumber=function(e,r){if(0===e)return 0;if(!e)return null;var t=(r||{}).duration_format;if(t=t||P.H_MM,B.findIndex((function(e){return e.type===t}))<0)return null;var a=e-0;if($r(a))return t===P.H_MM?60*a:a;var n=String(e),i="-"===n[0];i&&(n=n.substring(1));var o,u,s,l=n.split(/[::]/),c=l.length;t===P.H_MM?(o=c-2,u=c-1):(o=c-3,u=c-2,s=c-1);var _=l[o]-0,f=l[u]-0,E=l[s]-0;if(!$r(_)&&!$r(f)&&!$r(E))return null;var O=3600*(_=$r(_)?_:0)+60*(f=$r(f)?f:0)+(E=$r(E)?E:0);return i?-O:O},exports.formatStringToNumber=function(e,r){var t=r||{},a=t.format,n=t.decimal,i=t.thousands,o=t.enable_precision,u=t.precision,s=e;if(n&&i&&"comma"===n&&(s="dot"===i?(s=(s=s.replace(/,/,"@")).replace(/\./g,",")).replace(/@/,"."):(s=s.replace(/\./g,"")).replace(/,/,".")),s=nt(s,a),o&&s){var l="percent"===a?u+2:u;s=Number(parseFloat(s).toFixed(l))}return s},exports.formatTextToDate=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD";if("string"!=typeof e||!e.trim())return null;var t={};return t=/^[0-9]+$/.test(e)?new Date(nt(e)):he.parseDateWithFormat(e,r),r.indexOf("HH:mm")<0?he.format(t,"YYYY-MM-DD")||null:he.format(t,"YYYY-MM-DD HH:MM")||null},exports.formulaFilter=Tt,exports.generateOptionID=$e,exports.generatorBase64Code=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,r="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789",t="",a=0;a<e;a++)t+=r.charAt(Math.floor(72*Math.random()));return t},exports.generatorCellOption=function(e,r){var t=e.find((function(e){return e.name===r}));if(t)return{selectedOptionId:t.id};var a=ze(e,r)||{};return{cellOption:a,selectedOptionId:a.id}},exports.generatorCellOptions=function(e,r){var t=[],a=[];return r.forEach((function(r){var n=e.find((function(e){return e.name===r}));if(n)a.push(n.id);else{var i=ze(e,r);i&&(t.push(i),a.push(i.id))}})),0===t.length?{selectedOptionIds:a}:{cellOptions:t,selectedOptionIds:a}},exports.geolocationFilter=At,exports.getCellValueDisplayString=ur,exports.getCellValueStringResult=sr,exports.getCollaborator=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e.email===r})):null},exports.getCollaboratorsName=Ye,exports.getCollaboratorsNames=be,exports.getColumnOptionNameById=rr,exports.getColumnOptions=Ze,exports.getDateDisplayString=Ue,exports.getDepartmentName=ar,exports.getDigitalSignImageUrl=Pe,exports.getDurationDisplayString=Be,exports.getFilteredRowsWithoutFormulaCalculation=function(e,r,t,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=n.formulaRows,o=void 0===i?null:i,u=n.username,s=void 0===u?null:u,l=n.userId,c=void 0===l?null:l,_=n.userDepartmentIdsMap,f=void 0===_?null:_,E=a.columns,O=[];try{O=Yr(r,E)}catch(e){return{row_ids:[],error_message:e.message}}return{row_ids:0===O.length?t.map((function(e){return e._id})):Dt(e,O,t,{formulaRows:o,username:s,userId:c,userDepartmentIdsMap:f}),error_message:null}},exports.getFloatNumber=nt,exports.getFormattedFilter=hr,exports.getFormattedFilterOtherDate=gr,exports.getFormattedFilters=br,exports.getFormulaColumnsContainLinks=at,exports.getFormulaDisplayString=or,exports.getGeolocationByGranularity=He,exports.getGeolocationDisplayString=we,exports.getGroupByPath=function(e,r){if(!Array.isArray(e)||!Array.isArray(r))return null;var t=e[0];if(t<0||t>=r.length)return null;for(var a=1,n=r[t];a<e.length&&n;){var i=n.subgroups,o=e[a];if(!Array.isArray(i)||o<0||o>=i.length)break;n=i[o],a+=1}return n},exports.getGroupedRowsWithoutFormulaCalculation=function(e,r,t,a){var n=(arguments.length>4&&void 0!==arguments[4]?arguments[4]:{}).formulaRows,i=void 0===n?null:n,o=t.columns,u=wr(e,o,t,a);return fr(r)?Vt(u,r,i,a):Wt(u,t,r,i,a)},exports.getLinkById=lr,exports.getLinkCellValue=_r,exports.getLinkColumnsUsedInFilters=function(e,r){var t=e.filters,a=e.sorts,n=e.groupbys,i=r.columns;if(!Array.isArray(i))return[];var o=Fr(t,i),u=Xr(a,i),s=xr(n,i),l=o&&o.length>0,c=u&&u.length>0,_=s&&s.length>0;if(!l&&!c&&!_)return[];var f={},E={},O=[];return i.forEach((function(e){var r=e.key,t=e.name,a=e.type,n=e.data,i=e.width;a===C.LINK&&(f[e.key]={key:r,name:t,type:a,data:n,width:i})})),0===Object.keys(f).length?[]:(l&&o.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),c&&u.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),_&&s.forEach((function(e){var r=e.column_key,t=f[r];t&&!E[r]&&(O.push(t),E[r]=!0)})),O)},exports.getLinkTableID=function(e,r,t){return e===r?r:t},exports.getLinkedTableID=cr,exports.getLongtextDisplayString=Ge,exports.getMultipleIndexesOrderbyOptions=jr,exports.getMultipleOptionName=tr,exports.getNumberDisplayString=qe,exports.getOption=Je,exports.getOptionName=er,exports.getPrecisionNumber=function(e,r){var t=r||{},a=t.precision,n=void 0===a?2:a,i=t.enable_precision,o=void 0!==i&&i,u=Object.prototype.toString.call(e);if("[object Number]"!==u)return"[object String]"===u&&se.includes(e)?e:null;var s=o?n:function(e){if(Number.isInteger(e))return 0;var r=String(e).split("."),t=r[1]?r[1].length:8;return t>8?8:t}(e);return e.toFixed(s)},exports.getRateDisplayString=function(e){return e?String(e):""},exports.getRowById=function(e,r){return e&&e.id_row_map&&r?e.id_row_map[r]:null},exports.getRowsByIds=De,exports.getSortedFormulaColumns=tt,exports.getSortedFormulaColumnsContainLinks=function(e){var r=at(e);return 0===r.length?[]:tt(r,e)},exports.getSummaries=Jr,exports.getSummariesWithSubgroups=et,exports.getTableById=Me,exports.getTableColumnByKey=Le,exports.getTableColumnByName=function(e,r){return e&&Array.isArray(e.columns)&&r?e.columns.find((function(e){return e.name===r})):null},exports.getValidFilters=Sr,exports.getValidFiltersWithoutError=Fr,exports.getValidGroupbys=xr,exports.getValidSorts=Xr,exports.getViewById=function(e,r){return Array.isArray(e)&&r?e.find((function(e){return e._id===r})):null},exports.groupTableRows=Vt,exports.groupViewRows=Wt,exports.isDateColumn=Or,exports.isDefaultView=function(e,r){return!Vr(e,r)&&!Qr(e,r)&&!Wr(e,r)},exports.isEmpty=Ne,exports.isEmptyObject=function(e){var r;for(r in e)return!1;return!0},exports.isFilterView=Vr,exports.isGroupView=Wr,exports.isNumber=$r,exports.isNumberColumn=Zr,exports.isNumberEqual=zr,exports.isNumericColumn=qr,exports.isSortView=Qr,exports.isTableRows=fr,exports.isValidEmail=function(e){return/^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@([A-Za-z0-9]+[-.])+[A-Za-z0-9]{2,20}$/.test(e)},exports.isValidGroupby=Br,exports.isValidLink=function(e){if(!e)return!1;var r=e.link_id,t=e.table_id,a=e.other_table_id,n=e.display_column_key;return!!(r&&t&&a&&n)},exports.isValidPosition=xe,exports.isValidSort=kr,exports.linkFilter=yt,exports.longTextFilter=pt,exports.multipleSelectFilter=Et,exports.numberFilter=_t,exports.otherDate=vr,exports.replaceNumberNotAllowInput=function(e,r,t){if(!e)return"";var a=e.replace(/。/g,".");switch(r){case"percent":return a.replace(/[^.-\d,%]/g,"");case"yuan":return a.replace(/[^.-\d¥¥,]/g,"");case"dollar":return a.replace(/[^.-\d$,]/g,"");case"euro":return a.replace(/[^.-\d€,]/g,"");case"custom_currency":var n=new RegExp("[^.-d"+t+",]","g");return a.replace(n,"");default:return a.replace(/[^.-\d,]/g,"")}},exports.singleSelectFilter=Rt,exports.sortByArrayType=ht,exports.sortCheckbox=It,exports.sortCollaborator=Ft,exports.sortDate=vt,exports.sortFormula=bt,exports.sortLink=Yt,exports.sortMultipleSelect=Ut,exports.sortNumber=gt,exports.sortRowsWithMultiSorts=Bt,exports.sortSingleSelect=Pt,exports.sortTableRows=xt,exports.sortText=St,exports.textFilter=ft,exports.transLink2LinkFormula=rt,exports.updateGroupSummaries=function e(r,t,a){var n=t.columns.filter((function(e){return qr(e)}));Array.isArray(r)&&0!==n.length&&r.forEach((function(r){var i=r.subgroups,o=r.row_ids;Array.isArray(i)&&i.length>0?(e(i,t,a),r.summaries=et(i,n)):o&&(r.summaries=Jr(t,o,a))}))};
@@ -142,7 +142,8 @@ var getRowsColorBySingleSelectColumn = function getRowsColorBySingleSelectColumn
142
142
  var getRowsColorByRules = function getRowsColorByRules(rows, view, table) {
143
143
  var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
144
144
  username = _ref2.username,
145
- userId = _ref2.userId;
145
+ userId = _ref2.userId,
146
+ userDepartmentIdsMap = _ref2.userDepartmentIdsMap;
146
147
  var formula_rows = view.formula_rows,
147
148
  colorbys = view.colorbys;
148
149
  var _ref3 = colorbys || {},
@@ -178,7 +179,8 @@ var getRowsColorByRules = function getRowsColorByRules(rows, view, table) {
178
179
  if (filterRow(row, filter_conjunction, filters, {
179
180
  formulaRow: formulaRow,
180
181
  username: username,
181
- userId: userId
182
+ userId: userId,
183
+ userDepartmentIdsMap: userDepartmentIdsMap
182
184
  })) {
183
185
  colors[rowId] = color;
184
186
  break;
@@ -231,13 +233,15 @@ var getRowsColorByDuplicateValues = function getRowsColorByDuplicateValues(rows,
231
233
  * @param {object} table e.g. { id_row_map, ... }
232
234
  * @param {object} value e.g. { tables, collaborators, ... }
233
235
  * @param {string} username
234
- * @param {userId} username
236
+ * @param {string} userId
237
+ * @param {object} userDepartmentIdsMap
235
238
  * @returns rows color, object
236
239
  */
237
240
  var getRowsColor = function getRowsColor(rows, view, table, value) {
238
241
  var _ref5 = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {},
239
242
  username = _ref5.username,
240
- userId = _ref5.userId;
243
+ userId = _ref5.userId,
244
+ userDepartmentIdsMap = _ref5.userDepartmentIdsMap;
241
245
  var colorbys = view.colorbys;
242
246
  if (!colorbys) return {};
243
247
  var tableRows = isTableRows(rows) ? rows : getRowsByIds(table, rows);
@@ -256,7 +260,8 @@ var getRowsColor = function getRowsColor(rows, view, table, value) {
256
260
  return {
257
261
  colors: getRowsColorByRules(tableRows, view, table, {
258
262
  username: username,
259
- userId: userId
263
+ userId: userId,
264
+ userDepartmentIdsMap: userDepartmentIdsMap
260
265
  })
261
266
  };
262
267
  }
@@ -25,7 +25,7 @@ var CellType = {
25
25
  BUTTON: 'button',
26
26
  RATE: 'rate',
27
27
  DIGITAL_SIGN: 'digital-sign',
28
- DEPARTMENT_SINGLE_SELECT: 'department_single_select',
28
+ DEPARTMENT_SINGLE_SELECT: 'department-single-select',
29
29
  // formula | link-formula column calculate result type
30
30
  BOOL: 'bool',
31
31
  STRING: 'string'
@@ -160,6 +160,11 @@ var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty(_DURATI
160
160
 
161
161
  // number
162
162
  var DEFAULT_NUMBER_FORMAT = 'number';
163
+ var DEPARTMENT_SELECT_RANGE_MAP = {
164
+ CURRENT_USER_DEPARTMENT: 'current_user_department',
165
+ CURRENT_USER_DEPARTMENT_AND_SUB: 'current_user_department_and_sub',
166
+ SPECIFIC_DEPARTMENTS: 'specific_departments'
167
+ };
163
168
  var DATE_DEFAULT_TYPES = {
164
169
  SPECIFIC_DATE: 'specific_date',
165
170
  CURRENT_DATE: 'current_date',
@@ -171,4 +176,4 @@ var NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP = (_NOT_SUPPORT_EDIT_COL = {}, _definePrope
171
176
  var MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP = (_MULTIPLE_CELL_VALUE_ = {}, _defineProperty(_MULTIPLE_CELL_VALUE_, CellType.MULTIPLE_SELECT, true), _defineProperty(_MULTIPLE_CELL_VALUE_, CellType.COLLABORATOR, true), _defineProperty(_MULTIPLE_CELL_VALUE_, CellType.LINK, true), _MULTIPLE_CELL_VALUE_);
172
177
  var SINGLE_CELL_VALUE_COLUMN_TYPE_MAP = (_SINGLE_CELL_VALUE_CO = {}, _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.TEXT, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.DATE, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.CTIME, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.MTIME, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.NUMBER, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.CHECKBOX, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.SINGLE_SELECT, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.CREATOR, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.GEOLOCATION, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.FORMULA, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.LINK_FORMULA, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.URL, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.EMAIL, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.DURATION, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.RATE, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.LAST_MODIFIER, true), _defineProperty(_SINGLE_CELL_VALUE_CO, CellType.DIGITAL_SIGN, true), _SINGLE_CELL_VALUE_CO);
173
178
 
174
- export { COLLABORATOR_COLUMN_TYPES, COLUMNS_ICON_CONFIG, COLUMN_OPTIONS, DATE_COLUMN_OPTIONS, DATE_DEFAULT_TYPES, DATE_FORMAT_MAP, DATE_UNIT, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DURATION_DECIMAL_DIGITS, DURATION_FORMATS, DURATION_FORMATS_MAP, DURATION_ZERO_DISPLAY, FILL_DEFAULT_VALUE_COLUMNS_TYPE, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP, NUMERIC_COLUMNS_TYPES, SINGLE_CELL_VALUE_COLUMN_TYPE_MAP, UTC_FORMAT_DEFAULT };
179
+ export { COLLABORATOR_COLUMN_TYPES, COLUMNS_ICON_CONFIG, COLUMN_OPTIONS, DATE_COLUMN_OPTIONS, DATE_DEFAULT_TYPES, DATE_FORMAT_MAP, DATE_UNIT, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DEPARTMENT_SELECT_RANGE_MAP, DURATION_DECIMAL_DIGITS, DURATION_FORMATS, DURATION_FORMATS_MAP, DURATION_ZERO_DISPLAY, FILL_DEFAULT_VALUE_COLUMNS_TYPE, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP, NUMERIC_COLUMNS_TYPES, SINGLE_CELL_VALUE_COLUMN_TYPE_MAP, UTC_FORMAT_DEFAULT };
@@ -30,6 +30,8 @@ var FILTER_COLUMN_OPTIONS = (_FILTER_COLUMN_OPTION = {}, _defineProperty(_FILTER
30
30
  filterPredicateList: [FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.IS_ANY_OF, FILTER_PREDICATE_TYPE.IS_NONE_OF, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
31
31
  }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.MULTIPLE_SELECT, {
32
32
  filterPredicateList: [FILTER_PREDICATE_TYPE.HAS_ANY_OF, FILTER_PREDICATE_TYPE.HAS_ALL_OF, FILTER_PREDICATE_TYPE.HAS_NONE_OF, FILTER_PREDICATE_TYPE.IS_EXACTLY, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
33
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.DEPARTMENT_SINGLE_SELECT, {
34
+ filterPredicateList: [FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.IS_ANY_OF, FILTER_PREDICATE_TYPE.IS_NONE_OF, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
33
35
  }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.COLLABORATOR, {
34
36
  filterPredicateList: [FILTER_PREDICATE_TYPE.HAS_ANY_OF, FILTER_PREDICATE_TYPE.HAS_ALL_OF, FILTER_PREDICATE_TYPE.HAS_NONE_OF, FILTER_PREDICATE_TYPE.IS_EXACTLY, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY, FILTER_PREDICATE_TYPE.INCLUDE_ME]
35
37
  }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.CREATOR, {
@@ -0,0 +1,87 @@
1
+ import { DEPARTMENT_SELECT_RANGE_MAP } from '../../constants/column.js';
2
+ import { FILTER_PREDICATE_TYPE } from '../../constants/filter/filter-predicate.js';
3
+
4
+ var isCurrentUserDepartment = function isCurrentUserDepartment(id, userDepartmentIdsMap) {
5
+ var currentUserDepartmentIds = userDepartmentIdsMap && userDepartmentIdsMap.current_user_department_ids;
6
+ if (!Array.isArray(currentUserDepartmentIds)) return false;
7
+ return currentUserDepartmentIds.includes(id);
8
+ };
9
+ var isCurrentUserDepartmentAndSub = function isCurrentUserDepartmentAndSub(id, userDepartmentIdsMap) {
10
+ var currentUserDepartmentAndSubIds = userDepartmentIdsMap && userDepartmentIdsMap.current_user_department_and_sub_ids;
11
+ if (!Array.isArray(currentUserDepartmentAndSubIds)) return false;
12
+ return currentUserDepartmentAndSubIds.includes(id);
13
+ };
14
+
15
+ /**
16
+ * Filter department-single-select
17
+ * @param {number} departmentId
18
+ * @param {string} filter_predicate
19
+ * @param {number|array} filter_term department id or department ids
20
+ * @param {object} userDepartmentIdsMap
21
+ * @returns bool
22
+ */
23
+ var departmentSingleSelectFilter = function departmentSingleSelectFilter(departmentId, _ref, userDepartmentIdsMap) {
24
+ var filter_predicate = _ref.filter_predicate,
25
+ filter_term = _ref.filter_term;
26
+ if (departmentId === 0) return false;
27
+ switch (filter_predicate) {
28
+ case FILTER_PREDICATE_TYPE.IS:
29
+ {
30
+ if (!filter_term) return true;
31
+ if (filter_term === DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT) {
32
+ return isCurrentUserDepartment(departmentId, userDepartmentIdsMap);
33
+ }
34
+ if (filter_term === DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB) {
35
+ return isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap);
36
+ }
37
+ return departmentId === filter_term;
38
+ }
39
+ case FILTER_PREDICATE_TYPE.IS_NOT:
40
+ {
41
+ if (!filter_term) return true;
42
+ if (filter_term === DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT) {
43
+ return !isCurrentUserDepartment(departmentId, userDepartmentIdsMap);
44
+ }
45
+ if (filter_term === DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB) {
46
+ return !isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap);
47
+ }
48
+ return departmentId !== filter_term;
49
+ }
50
+ case FILTER_PREDICATE_TYPE.IS_ANY_OF:
51
+ {
52
+ if (filter_term.length === 0) return true;
53
+ if (filter_term.includes(DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB)) {
54
+ return isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap) || filter_term.includes(departmentId);
55
+ }
56
+ if (filter_term.includes(DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT)) {
57
+ return isCurrentUserDepartment(departmentId, userDepartmentIdsMap) || filter_term.includes(departmentId);
58
+ }
59
+ return filter_term.includes(departmentId);
60
+ }
61
+ case FILTER_PREDICATE_TYPE.IS_NONE_OF:
62
+ {
63
+ if (filter_term.length === 0) return true;
64
+ if (filter_term.includes(DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB)) {
65
+ return !isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap) && !filter_term.includes(departmentId);
66
+ }
67
+ if (filter_term.includes(DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT)) {
68
+ return !isCurrentUserDepartment(departmentId, userDepartmentIdsMap) && !filter_term.includes(departmentId);
69
+ }
70
+ return !filter_term.includes(departmentId);
71
+ }
72
+ case FILTER_PREDICATE_TYPE.EMPTY:
73
+ {
74
+ return !departmentId || typeof departmentId !== 'number';
75
+ }
76
+ case FILTER_PREDICATE_TYPE.NOT_EMPTY:
77
+ {
78
+ return !!(departmentId && typeof departmentId === 'number');
79
+ }
80
+ default:
81
+ {
82
+ return false;
83
+ }
84
+ }
85
+ };
86
+
87
+ export { departmentSingleSelectFilter };
@@ -13,6 +13,7 @@ import { multipleSelectFilter } from './filter-column/multiple-select.js';
13
13
  import { numberFilter } from './filter-column/number.js';
14
14
  import { singleSelectFilter } from './filter-column/single-select.js';
15
15
  import { linkFilter } from './filter-column/link.js';
16
+ import { departmentSingleSelectFilter } from './filter-column/department-single-select.js';
16
17
  import { FILTER_CONJUNCTION_TYPE } from '../constants/filter/index.js';
17
18
  import { DateUtils } from '../date.js';
18
19
  import { CellType } from '../constants/cell-type.js';
@@ -21,7 +22,8 @@ import { DATE_FORMAT_MAP } from '../constants/column.js';
21
22
  var getFilterResult = function getFilterResult(row, filter, _ref) {
22
23
  var formulaRow = _ref.formulaRow,
23
24
  username = _ref.username,
24
- userId = _ref.userId;
25
+ userId = _ref.userId,
26
+ userDepartmentIdsMap = _ref.userDepartmentIdsMap;
25
27
  var column_key = filter.column_key,
26
28
  column = filter.column;
27
29
  var cellValue = row[column_key];
@@ -38,6 +40,10 @@ var getFilterResult = function getFilterResult(row, filter, _ref) {
38
40
  {
39
41
  return multipleSelectFilter(cellValue, filter);
40
42
  }
43
+ case CellType.DEPARTMENT_SINGLE_SELECT:
44
+ {
45
+ return departmentSingleSelectFilter(cellValue, filter, userDepartmentIdsMap);
46
+ }
41
47
  case CellType.DURATION:
42
48
  case CellType.NUMBER:
43
49
  case CellType.RATE:
@@ -122,6 +128,7 @@ var getFilterResult = function getFilterResult(row, filter, _ref) {
122
128
  * @param {object} formulaRow
123
129
  * @param {string} username
124
130
  * @param {string} userId
131
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
125
132
  * @returns filter result, bool
126
133
  */
127
134
  var filterRow = function filterRow(row, filterConjunction, filters) {
@@ -130,13 +137,16 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
130
137
  formulaRow = _ref2$formulaRow === void 0 ? {} : _ref2$formulaRow,
131
138
  _ref2$username = _ref2.username,
132
139
  username = _ref2$username === void 0 ? '' : _ref2$username,
133
- userId = _ref2.userId;
140
+ userId = _ref2.userId,
141
+ _ref2$userDepartmentI = _ref2.userDepartmentIdsMap,
142
+ userDepartmentIdsMap = _ref2$userDepartmentI === void 0 ? {} : _ref2$userDepartmentI;
134
143
  if (filterConjunction === FILTER_CONJUNCTION_TYPE.AND) {
135
144
  return filters.every(function (filter) {
136
145
  return getFilterResult(row, filter, {
137
146
  formulaRow: formulaRow,
138
147
  username: username,
139
- userId: userId
148
+ userId: userId,
149
+ userDepartmentIdsMap: userDepartmentIdsMap
140
150
  });
141
151
  });
142
152
  }
@@ -145,7 +155,8 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
145
155
  return getFilterResult(row, filter, {
146
156
  formulaRow: formulaRow,
147
157
  username: username,
148
- userId: userId
158
+ userId: userId,
159
+ userDepartmentIdsMap: userDepartmentIdsMap
149
160
  });
150
161
  });
151
162
  }
@@ -159,13 +170,15 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
159
170
  * @param {array} rows e.g. [{ _id, .... }, ...]
160
171
  * @param {object} formulaRows
161
172
  * @param {string} username
162
- * @param {userId} username
173
+ * @param {string} userId
174
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
163
175
  * @returns filtered rows ids, array
164
176
  */
165
177
  var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
166
178
  var formulaRows = _ref3.formulaRows,
167
179
  username = _ref3.username,
168
- userId = _ref3.userId;
180
+ userId = _ref3.userId,
181
+ userDepartmentIdsMap = _ref3.userDepartmentIdsMap;
169
182
  var filteredRows = [];
170
183
  var formattedFilters = getFormattedFilters(filters);
171
184
  rows.forEach(function (row) {
@@ -174,7 +187,8 @@ var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
174
187
  if (filterRow(row, filterConjunction, formattedFilters, {
175
188
  formulaRow: formulaRow,
176
189
  username: username,
177
- userId: userId
190
+ userId: userId,
191
+ userDepartmentIdsMap: userDepartmentIdsMap
178
192
  })) {
179
193
  filteredRows.push(rowId);
180
194
  }
@@ -191,7 +205,8 @@ var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
191
205
  * @param {object} table e.g. { columns, ... }
192
206
  * @param {object} formulaRows
193
207
  * @param {string} username
194
- * @param {userId} username
208
+ * @param {string} userId
209
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
195
210
  * @returns filtered rows: row_ids and error message: error_message, object
196
211
  */
197
212
  var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFormulaCalculation(filterConjunction, filters, rows, table) {
@@ -201,7 +216,9 @@ var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFo
201
216
  _ref4$username = _ref4.username,
202
217
  username = _ref4$username === void 0 ? null : _ref4$username,
203
218
  _ref4$userId = _ref4.userId,
204
- userId = _ref4$userId === void 0 ? null : _ref4$userId;
219
+ userId = _ref4$userId === void 0 ? null : _ref4$userId,
220
+ _ref4$userDepartmentI = _ref4.userDepartmentIdsMap,
221
+ userDepartmentIdsMap = _ref4$userDepartmentI === void 0 ? null : _ref4$userDepartmentI;
205
222
  var columns = table.columns;
206
223
  var validFilters = [];
207
224
  try {
@@ -221,7 +238,8 @@ var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFo
221
238
  filteredRows = filterRows(filterConjunction, validFilters, rows, {
222
239
  formulaRows: formulaRows,
223
240
  username: username,
224
- userId: userId
241
+ userId: userId,
242
+ userDepartmentIdsMap: userDepartmentIdsMap
225
243
  });
226
244
  }
227
245
  return {
package/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { CellType } from './constants/cell-type.js';
2
- export { COLLABORATOR_COLUMN_TYPES, COLUMNS_ICON_CONFIG, COLUMN_OPTIONS, DATE_COLUMN_OPTIONS, DATE_DEFAULT_TYPES, DATE_FORMAT_MAP, DATE_UNIT, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DURATION_DECIMAL_DIGITS, DURATION_FORMATS, DURATION_FORMATS_MAP, DURATION_ZERO_DISPLAY, FILL_DEFAULT_VALUE_COLUMNS_TYPE, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP, NUMERIC_COLUMNS_TYPES, SINGLE_CELL_VALUE_COLUMN_TYPE_MAP, UTC_FORMAT_DEFAULT } from './constants/column.js';
2
+ export { COLLABORATOR_COLUMN_TYPES, COLUMNS_ICON_CONFIG, COLUMN_OPTIONS, DATE_COLUMN_OPTIONS, DATE_DEFAULT_TYPES, DATE_FORMAT_MAP, DATE_UNIT, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DEPARTMENT_SELECT_RANGE_MAP, DURATION_DECIMAL_DIGITS, DURATION_FORMATS, DURATION_FORMATS_MAP, DURATION_ZERO_DISPLAY, FILL_DEFAULT_VALUE_COLUMNS_TYPE, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP, NUMERIC_COLUMNS_TYPES, SINGLE_CELL_VALUE_COLUMN_TYPE_MAP, UTC_FORMAT_DEFAULT } from './constants/column.js';
3
3
  export { FILTER_CONJUNCTION_TYPE, FILTER_ERR_MSG } from './constants/filter/index.js';
4
4
  export { DISPLAY_INTERNAL_ERRORS, FORMULA_COLUMN_TYPES_MAP, FORMULA_RESULT_TYPE } from './constants/formula.js';
5
5
  export { HIGHLIGHT_COLORS, SELECT_OPTION_COLORS } from './constants/select-option.js';
@@ -55,6 +55,7 @@ export { multipleSelectFilter } from './filter/filter-column/multiple-select.js'
55
55
  export { numberFilter } from './filter/filter-column/number.js';
56
56
  export { singleSelectFilter } from './filter/filter-column/single-select.js';
57
57
  export { linkFilter } from './filter/filter-column/link.js';
58
+ export { FILTER_PREDICATE_SHOW, FILTER_PREDICATE_TYPE } from './constants/filter/filter-predicate.js';
58
59
  export { filterRow, filterRows, getFilteredRowsWithoutFormulaCalculation } from './filter/filter-row.js';
59
60
  export { deleteInvalidSort, getMultipleIndexesOrderbyOptions, getValidSorts, isValidSort } from './sort/core.js';
60
61
  export { sortCheckbox } from './sort/sort-column/checkbox.js';
@@ -75,5 +76,4 @@ export { default as ColumnColorUtils } from './color/column-color.js';
75
76
  export { default as RowColorUtils } from './color/row-color.js';
76
77
  export { FILTER_COLUMN_OPTIONS } from './constants/filter/filter-column-options.js';
77
78
  export { FILTER_TERM_MODIFIER_SHOW, FILTER_TERM_MODIFIER_TYPE } from './constants/filter/filter-modifier.js';
78
- export { FILTER_PREDICATE_SHOW, FILTER_PREDICATE_TYPE } from './constants/filter/filter-predicate.js';
79
79
  export { filterTermModifierIsWithin, filterTermModifierNotWithin } from './constants/filter/filter-is-within.js';
@@ -2,7 +2,7 @@ import _typeof from '@babel/runtime/helpers/typeof';
2
2
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import { CellType } from '../constants/cell-type.js';
5
- import { COLLABORATOR_COLUMN_TYPES } from '../constants/column.js';
5
+ import { COLLABORATOR_COLUMN_TYPES, DEPARTMENT_SELECT_RANGE_MAP } from '../constants/column.js';
6
6
  import { FORMULA_COLUMN_TYPES_MAP, FORMULA_RESULT_TYPE } from '../constants/formula.js';
7
7
  import { FILTER_ERR_MSG } from '../constants/filter/index.js';
8
8
  import { getColumnOptions } from '../column/option.js';
@@ -344,6 +344,16 @@ var ValidateFilter = /*#__PURE__*/function () {
344
344
  {
345
345
  return this.isValidTermType(term, TERM_TYPE_MAP.ARRAY);
346
346
  }
347
+ case CellType.DEPARTMENT_SINGLE_SELECT:
348
+ {
349
+ if (PREDICATES_REQUIRE_ARRAY_TERM.includes(predicate)) {
350
+ return this.isValidTermType(term, TERM_TYPE_MAP.ARRAY);
351
+ }
352
+ if ([DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT, DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB].includes(term)) {
353
+ return true;
354
+ }
355
+ return this.isValidTermType(term, TERM_TYPE_MAP.NUMBER);
356
+ }
347
357
  case CellType.MULTIPLE_SELECT:
348
358
  {
349
359
  if (!this.isValidTermType(term, TERM_TYPE_MAP.ARRAY)) {
@@ -150,7 +150,8 @@ var getRowsColorBySingleSelectColumn = function getRowsColorBySingleSelectColumn
150
150
  var getRowsColorByRules = function getRowsColorByRules(rows, view, table) {
151
151
  var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
152
152
  username = _ref2.username,
153
- userId = _ref2.userId;
153
+ userId = _ref2.userId,
154
+ userDepartmentIdsMap = _ref2.userDepartmentIdsMap;
154
155
  var formula_rows = view.formula_rows,
155
156
  colorbys = view.colorbys;
156
157
  var _ref3 = colorbys || {},
@@ -186,7 +187,8 @@ var getRowsColorByRules = function getRowsColorByRules(rows, view, table) {
186
187
  if (filterRow.filterRow(row, filter_conjunction, filters, {
187
188
  formulaRow: formulaRow,
188
189
  username: username,
189
- userId: userId
190
+ userId: userId,
191
+ userDepartmentIdsMap: userDepartmentIdsMap
190
192
  })) {
191
193
  colors[rowId] = color;
192
194
  break;
@@ -239,13 +241,15 @@ var getRowsColorByDuplicateValues = function getRowsColorByDuplicateValues(rows,
239
241
  * @param {object} table e.g. { id_row_map, ... }
240
242
  * @param {object} value e.g. { tables, collaborators, ... }
241
243
  * @param {string} username
242
- * @param {userId} username
244
+ * @param {string} userId
245
+ * @param {object} userDepartmentIdsMap
243
246
  * @returns rows color, object
244
247
  */
245
248
  var getRowsColor = function getRowsColor(rows, view, table, value) {
246
249
  var _ref5 = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {},
247
250
  username = _ref5.username,
248
- userId = _ref5.userId;
251
+ userId = _ref5.userId,
252
+ userDepartmentIdsMap = _ref5.userDepartmentIdsMap;
249
253
  var colorbys = view.colorbys;
250
254
  if (!colorbys) return {};
251
255
  var tableRows = core$1.isTableRows(rows) ? rows : row.getRowsByIds(table, rows);
@@ -264,7 +268,8 @@ var getRowsColor = function getRowsColor(rows, view, table, value) {
264
268
  return {
265
269
  colors: getRowsColorByRules(tableRows, view, table, {
266
270
  username: username,
267
- userId: userId
271
+ userId: userId,
272
+ userDepartmentIdsMap: userDepartmentIdsMap
268
273
  })
269
274
  };
270
275
  }
@@ -29,7 +29,7 @@ var CellType = {
29
29
  BUTTON: 'button',
30
30
  RATE: 'rate',
31
31
  DIGITAL_SIGN: 'digital-sign',
32
- DEPARTMENT_SINGLE_SELECT: 'department_single_select',
32
+ DEPARTMENT_SINGLE_SELECT: 'department-single-select',
33
33
  // formula | link-formula column calculate result type
34
34
  BOOL: 'bool',
35
35
  STRING: 'string'
@@ -168,6 +168,11 @@ var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty__defaul
168
168
 
169
169
  // number
170
170
  var DEFAULT_NUMBER_FORMAT = 'number';
171
+ var DEPARTMENT_SELECT_RANGE_MAP = {
172
+ CURRENT_USER_DEPARTMENT: 'current_user_department',
173
+ CURRENT_USER_DEPARTMENT_AND_SUB: 'current_user_department_and_sub',
174
+ SPECIFIC_DEPARTMENTS: 'specific_departments'
175
+ };
171
176
  var DATE_DEFAULT_TYPES = {
172
177
  SPECIFIC_DATE: 'specific_date',
173
178
  CURRENT_DATE: 'current_date',
@@ -188,6 +193,7 @@ exports.DATE_FORMAT_MAP = DATE_FORMAT_MAP;
188
193
  exports.DATE_UNIT = DATE_UNIT;
189
194
  exports.DEFAULT_DATE_FORMAT = DEFAULT_DATE_FORMAT;
190
195
  exports.DEFAULT_NUMBER_FORMAT = DEFAULT_NUMBER_FORMAT;
196
+ exports.DEPARTMENT_SELECT_RANGE_MAP = DEPARTMENT_SELECT_RANGE_MAP;
191
197
  exports.DURATION_DECIMAL_DIGITS = DURATION_DECIMAL_DIGITS;
192
198
  exports.DURATION_FORMATS = DURATION_FORMATS;
193
199
  exports.DURATION_FORMATS_MAP = DURATION_FORMATS_MAP;
@@ -38,6 +38,8 @@ var FILTER_COLUMN_OPTIONS = (_FILTER_COLUMN_OPTION = {}, _defineProperty__defaul
38
38
  filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
39
39
  }), _defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.MULTIPLE_SELECT, {
40
40
  filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.HAS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_ALL_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_EXACTLY, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
41
+ }), _defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.DEPARTMENT_SINGLE_SELECT, {
42
+ filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
41
43
  }), _defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.COLLABORATOR, {
42
44
  filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.HAS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_ALL_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_EXACTLY, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.INCLUDE_ME]
43
45
  }), _defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.CREATOR, {
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var column = require('../../constants/column.js');
6
+ var filterPredicate = require('../../constants/filter/filter-predicate.js');
7
+
8
+ var isCurrentUserDepartment = function isCurrentUserDepartment(id, userDepartmentIdsMap) {
9
+ var currentUserDepartmentIds = userDepartmentIdsMap && userDepartmentIdsMap.current_user_department_ids;
10
+ if (!Array.isArray(currentUserDepartmentIds)) return false;
11
+ return currentUserDepartmentIds.includes(id);
12
+ };
13
+ var isCurrentUserDepartmentAndSub = function isCurrentUserDepartmentAndSub(id, userDepartmentIdsMap) {
14
+ var currentUserDepartmentAndSubIds = userDepartmentIdsMap && userDepartmentIdsMap.current_user_department_and_sub_ids;
15
+ if (!Array.isArray(currentUserDepartmentAndSubIds)) return false;
16
+ return currentUserDepartmentAndSubIds.includes(id);
17
+ };
18
+
19
+ /**
20
+ * Filter department-single-select
21
+ * @param {number} departmentId
22
+ * @param {string} filter_predicate
23
+ * @param {number|array} filter_term department id or department ids
24
+ * @param {object} userDepartmentIdsMap
25
+ * @returns bool
26
+ */
27
+ var departmentSingleSelectFilter = function departmentSingleSelectFilter(departmentId, _ref, userDepartmentIdsMap) {
28
+ var filter_predicate = _ref.filter_predicate,
29
+ filter_term = _ref.filter_term;
30
+ if (departmentId === 0) return false;
31
+ switch (filter_predicate) {
32
+ case filterPredicate.FILTER_PREDICATE_TYPE.IS:
33
+ {
34
+ if (!filter_term) return true;
35
+ if (filter_term === column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT) {
36
+ return isCurrentUserDepartment(departmentId, userDepartmentIdsMap);
37
+ }
38
+ if (filter_term === column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB) {
39
+ return isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap);
40
+ }
41
+ return departmentId === filter_term;
42
+ }
43
+ case filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT:
44
+ {
45
+ if (!filter_term) return true;
46
+ if (filter_term === column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT) {
47
+ return !isCurrentUserDepartment(departmentId, userDepartmentIdsMap);
48
+ }
49
+ if (filter_term === column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB) {
50
+ return !isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap);
51
+ }
52
+ return departmentId !== filter_term;
53
+ }
54
+ case filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF:
55
+ {
56
+ if (filter_term.length === 0) return true;
57
+ if (filter_term.includes(column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB)) {
58
+ return isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap) || filter_term.includes(departmentId);
59
+ }
60
+ if (filter_term.includes(column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT)) {
61
+ return isCurrentUserDepartment(departmentId, userDepartmentIdsMap) || filter_term.includes(departmentId);
62
+ }
63
+ return filter_term.includes(departmentId);
64
+ }
65
+ case filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF:
66
+ {
67
+ if (filter_term.length === 0) return true;
68
+ if (filter_term.includes(column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB)) {
69
+ return !isCurrentUserDepartmentAndSub(departmentId, userDepartmentIdsMap) && !filter_term.includes(departmentId);
70
+ }
71
+ if (filter_term.includes(column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT)) {
72
+ return !isCurrentUserDepartment(departmentId, userDepartmentIdsMap) && !filter_term.includes(departmentId);
73
+ }
74
+ return !filter_term.includes(departmentId);
75
+ }
76
+ case filterPredicate.FILTER_PREDICATE_TYPE.EMPTY:
77
+ {
78
+ return !departmentId || typeof departmentId !== 'number';
79
+ }
80
+ case filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY:
81
+ {
82
+ return !!(departmentId && typeof departmentId === 'number');
83
+ }
84
+ default:
85
+ {
86
+ return false;
87
+ }
88
+ }
89
+ };
90
+
91
+ exports.departmentSingleSelectFilter = departmentSingleSelectFilter;
@@ -17,6 +17,7 @@ var multipleSelect = require('./filter-column/multiple-select.js');
17
17
  var number = require('./filter-column/number.js');
18
18
  var singleSelect = require('./filter-column/single-select.js');
19
19
  var link = require('./filter-column/link.js');
20
+ var departmentSingleSelect = require('./filter-column/department-single-select.js');
20
21
  var index = require('../constants/filter/index.js');
21
22
  var date = require('../date.js');
22
23
  var cellType = require('../constants/cell-type.js');
@@ -25,7 +26,8 @@ var column = require('../constants/column.js');
25
26
  var getFilterResult = function getFilterResult(row, filter, _ref) {
26
27
  var formulaRow = _ref.formulaRow,
27
28
  username = _ref.username,
28
- userId = _ref.userId;
29
+ userId = _ref.userId,
30
+ userDepartmentIdsMap = _ref.userDepartmentIdsMap;
29
31
  var column_key = filter.column_key,
30
32
  column$1 = filter.column;
31
33
  var cellValue = row[column_key];
@@ -42,6 +44,10 @@ var getFilterResult = function getFilterResult(row, filter, _ref) {
42
44
  {
43
45
  return multipleSelect.multipleSelectFilter(cellValue, filter);
44
46
  }
47
+ case cellType.CellType.DEPARTMENT_SINGLE_SELECT:
48
+ {
49
+ return departmentSingleSelect.departmentSingleSelectFilter(cellValue, filter, userDepartmentIdsMap);
50
+ }
45
51
  case cellType.CellType.DURATION:
46
52
  case cellType.CellType.NUMBER:
47
53
  case cellType.CellType.RATE:
@@ -126,6 +132,7 @@ var getFilterResult = function getFilterResult(row, filter, _ref) {
126
132
  * @param {object} formulaRow
127
133
  * @param {string} username
128
134
  * @param {string} userId
135
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
129
136
  * @returns filter result, bool
130
137
  */
131
138
  var filterRow = function filterRow(row, filterConjunction, filters) {
@@ -134,13 +141,16 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
134
141
  formulaRow = _ref2$formulaRow === void 0 ? {} : _ref2$formulaRow,
135
142
  _ref2$username = _ref2.username,
136
143
  username = _ref2$username === void 0 ? '' : _ref2$username,
137
- userId = _ref2.userId;
144
+ userId = _ref2.userId,
145
+ _ref2$userDepartmentI = _ref2.userDepartmentIdsMap,
146
+ userDepartmentIdsMap = _ref2$userDepartmentI === void 0 ? {} : _ref2$userDepartmentI;
138
147
  if (filterConjunction === index.FILTER_CONJUNCTION_TYPE.AND) {
139
148
  return filters.every(function (filter) {
140
149
  return getFilterResult(row, filter, {
141
150
  formulaRow: formulaRow,
142
151
  username: username,
143
- userId: userId
152
+ userId: userId,
153
+ userDepartmentIdsMap: userDepartmentIdsMap
144
154
  });
145
155
  });
146
156
  }
@@ -149,7 +159,8 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
149
159
  return getFilterResult(row, filter, {
150
160
  formulaRow: formulaRow,
151
161
  username: username,
152
- userId: userId
162
+ userId: userId,
163
+ userDepartmentIdsMap: userDepartmentIdsMap
153
164
  });
154
165
  });
155
166
  }
@@ -163,13 +174,15 @@ var filterRow = function filterRow(row, filterConjunction, filters) {
163
174
  * @param {array} rows e.g. [{ _id, .... }, ...]
164
175
  * @param {object} formulaRows
165
176
  * @param {string} username
166
- * @param {userId} username
177
+ * @param {string} userId
178
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
167
179
  * @returns filtered rows ids, array
168
180
  */
169
181
  var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
170
182
  var formulaRows = _ref3.formulaRows,
171
183
  username = _ref3.username,
172
- userId = _ref3.userId;
184
+ userId = _ref3.userId,
185
+ userDepartmentIdsMap = _ref3.userDepartmentIdsMap;
173
186
  var filteredRows = [];
174
187
  var formattedFilters = core.getFormattedFilters(filters);
175
188
  rows.forEach(function (row) {
@@ -178,7 +191,8 @@ var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
178
191
  if (filterRow(row, filterConjunction, formattedFilters, {
179
192
  formulaRow: formulaRow,
180
193
  username: username,
181
- userId: userId
194
+ userId: userId,
195
+ userDepartmentIdsMap: userDepartmentIdsMap
182
196
  })) {
183
197
  filteredRows.push(rowId);
184
198
  }
@@ -195,7 +209,8 @@ var filterRows = function filterRows(filterConjunction, filters, rows, _ref3) {
195
209
  * @param {object} table e.g. { columns, ... }
196
210
  * @param {object} formulaRows
197
211
  * @param {string} username
198
- * @param {userId} username
212
+ * @param {string} userId
213
+ * @param {object} userDepartmentIdsMap e.g. { current_user_department_ids: [8, 10], current_user_department_and_sub_ids: [8, 10, 12, 34] }
199
214
  * @returns filtered rows: row_ids and error message: error_message, object
200
215
  */
201
216
  var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFormulaCalculation(filterConjunction, filters, rows, table) {
@@ -205,7 +220,9 @@ var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFo
205
220
  _ref4$username = _ref4.username,
206
221
  username = _ref4$username === void 0 ? null : _ref4$username,
207
222
  _ref4$userId = _ref4.userId,
208
- userId = _ref4$userId === void 0 ? null : _ref4$userId;
223
+ userId = _ref4$userId === void 0 ? null : _ref4$userId,
224
+ _ref4$userDepartmentI = _ref4.userDepartmentIdsMap,
225
+ userDepartmentIdsMap = _ref4$userDepartmentI === void 0 ? null : _ref4$userDepartmentI;
209
226
  var columns = table.columns;
210
227
  var validFilters = [];
211
228
  try {
@@ -225,7 +242,8 @@ var getFilteredRowsWithoutFormulaCalculation = function getFilteredRowsWithoutFo
225
242
  filteredRows = filterRows(filterConjunction, validFilters, rows, {
226
243
  formulaRows: formulaRows,
227
244
  username: username,
228
- userId: userId
245
+ userId: userId,
246
+ userDepartmentIdsMap: userDepartmentIdsMap
229
247
  });
230
248
  }
231
249
  return {
package/lib/index.js CHANGED
@@ -59,6 +59,7 @@ var multipleSelect = require('./filter/filter-column/multiple-select.js');
59
59
  var number$4 = require('./filter/filter-column/number.js');
60
60
  var singleSelect = require('./filter/filter-column/single-select.js');
61
61
  var link = require('./filter/filter-column/link.js');
62
+ var filterPredicate = require('./constants/filter/filter-predicate.js');
62
63
  var filterRow = require('./filter/filter-row.js');
63
64
  var core$5 = require('./sort/core.js');
64
65
  var checkbox$1 = require('./sort/sort-column/checkbox.js');
@@ -79,7 +80,6 @@ var columnColor = require('./color/column-color.js');
79
80
  var rowColor = require('./color/row-color.js');
80
81
  var filterColumnOptions = require('./constants/filter/filter-column-options.js');
81
82
  var filterModifier = require('./constants/filter/filter-modifier.js');
82
- var filterPredicate = require('./constants/filter/filter-predicate.js');
83
83
  var filterIsWithin = require('./constants/filter/filter-is-within.js');
84
84
 
85
85
 
@@ -94,6 +94,7 @@ exports.DATE_FORMAT_MAP = column.DATE_FORMAT_MAP;
94
94
  exports.DATE_UNIT = column.DATE_UNIT;
95
95
  exports.DEFAULT_DATE_FORMAT = column.DEFAULT_DATE_FORMAT;
96
96
  exports.DEFAULT_NUMBER_FORMAT = column.DEFAULT_NUMBER_FORMAT;
97
+ exports.DEPARTMENT_SELECT_RANGE_MAP = column.DEPARTMENT_SELECT_RANGE_MAP;
97
98
  exports.DURATION_DECIMAL_DIGITS = column.DURATION_DECIMAL_DIGITS;
98
99
  exports.DURATION_FORMATS = column.DURATION_FORMATS;
99
100
  exports.DURATION_FORMATS_MAP = column.DURATION_FORMATS_MAP;
@@ -215,6 +216,8 @@ exports.multipleSelectFilter = multipleSelect.multipleSelectFilter;
215
216
  exports.numberFilter = number$4.numberFilter;
216
217
  exports.singleSelectFilter = singleSelect.singleSelectFilter;
217
218
  exports.linkFilter = link.linkFilter;
219
+ exports.FILTER_PREDICATE_SHOW = filterPredicate.FILTER_PREDICATE_SHOW;
220
+ exports.FILTER_PREDICATE_TYPE = filterPredicate.FILTER_PREDICATE_TYPE;
218
221
  exports.filterRow = filterRow.filterRow;
219
222
  exports.filterRows = filterRow.filterRows;
220
223
  exports.getFilteredRowsWithoutFormulaCalculation = filterRow.getFilteredRowsWithoutFormulaCalculation;
@@ -247,7 +250,5 @@ exports.RowColorUtils = rowColor["default"];
247
250
  exports.FILTER_COLUMN_OPTIONS = filterColumnOptions.FILTER_COLUMN_OPTIONS;
248
251
  exports.FILTER_TERM_MODIFIER_SHOW = filterModifier.FILTER_TERM_MODIFIER_SHOW;
249
252
  exports.FILTER_TERM_MODIFIER_TYPE = filterModifier.FILTER_TERM_MODIFIER_TYPE;
250
- exports.FILTER_PREDICATE_SHOW = filterPredicate.FILTER_PREDICATE_SHOW;
251
- exports.FILTER_PREDICATE_TYPE = filterPredicate.FILTER_PREDICATE_TYPE;
252
253
  exports.filterTermModifierIsWithin = filterIsWithin.filterTermModifierIsWithin;
253
254
  exports.filterTermModifierNotWithin = filterIsWithin.filterTermModifierNotWithin;
@@ -354,6 +354,16 @@ var ValidateFilter = /*#__PURE__*/function () {
354
354
  {
355
355
  return this.isValidTermType(term, TERM_TYPE_MAP.ARRAY);
356
356
  }
357
+ case cellType.CellType.DEPARTMENT_SINGLE_SELECT:
358
+ {
359
+ if (PREDICATES_REQUIRE_ARRAY_TERM.includes(predicate)) {
360
+ return this.isValidTermType(term, TERM_TYPE_MAP.ARRAY);
361
+ }
362
+ if ([column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT, column.DEPARTMENT_SELECT_RANGE_MAP.CURRENT_USER_DEPARTMENT_AND_SUB].includes(term)) {
363
+ return true;
364
+ }
365
+ return this.isValidTermType(term, TERM_TYPE_MAP.NUMBER);
366
+ }
357
367
  case cellType.CellType.MULTIPLE_SELECT:
358
368
  {
359
369
  if (!this.isValidTermType(term, TERM_TYPE_MAP.ARRAY)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-utils",
3
- "version": "4.2.2",
3
+ "version": "4.2.3-beta.1",
4
4
  "description": "dtable common utils",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",