@zensoftbr/zenerpclient 1.0.18 → 1.0.19
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/cjs/api/catalog/person/PersonCompact.js +14 -0
- package/dist/cjs/api/catalog/person/PersonCompact.js.map +1 -0
- package/dist/cjs/api/catalog/person/PersonService.js +10 -10
- package/dist/cjs/api/catalog/person/PersonService.js.map +1 -1
- package/dist/cjs/api/catalog/person/person.module.js +3 -3
- package/dist/cjs/api/catalog/person/person.module.js.map +1 -1
- package/dist/cjs/api/fiscal/br/FiscalBrService.js +1 -0
- package/dist/cjs/api/fiscal/br/FiscalBrService.js.map +1 -1
- package/dist/cjs/api/sale/QuoteItem.js +1 -0
- package/dist/cjs/api/sale/QuoteItem.js.map +1 -1
- package/dist/cjs/api/supply/production/ArgsProductionOrderOpCreate.js.map +1 -1
- package/dist/cjs/api/supply/production/ArgsProductionStepOpCreate.js +11 -0
- package/dist/cjs/api/supply/production/ArgsProductionStepOpCreate.js.map +1 -0
- package/dist/cjs/api/supply/production/ProductionOrder.js +3 -4
- package/dist/cjs/api/supply/production/ProductionOrder.js.map +1 -1
- package/dist/cjs/api/supply/production/ProductionService.js +30 -0
- package/dist/cjs/api/supply/production/ProductionService.js.map +1 -1
- package/dist/cjs/api/supply/production/ProductionStep.js +1 -0
- package/dist/cjs/api/supply/production/ProductionStep.js.map +1 -1
- package/dist/cjs/api/supply/purchase/ProposalRequest.js +16 -0
- package/dist/cjs/api/supply/purchase/ProposalRequest.js.map +1 -0
- package/dist/cjs/api/supply/purchase/PurchaseService.js +21 -0
- package/dist/cjs/api/supply/purchase/PurchaseService.js.map +1 -1
- package/dist/cjs/api/supply/purchase/QuoteItem.js +1 -0
- package/dist/cjs/api/supply/purchase/QuoteItem.js.map +1 -1
- package/dist/cjs/api/supply/purchase/purchase.module.js +3 -1
- package/dist/cjs/api/supply/purchase/purchase.module.js.map +1 -1
- package/dist/cjs/api/system/report/ReportService.js +1 -0
- package/dist/cjs/api/system/report/ReportService.js.map +1 -1
- package/dist/cjs/components/ControlCatalogProductProductProfile.js +9 -1
- package/dist/cjs/components/ControlCatalogProductProductProfile.js.map +1 -1
- package/dist/cjs/components/ControlSelect.js +21 -12
- package/dist/cjs/components/ControlSelect.js.map +1 -1
- package/dist/cjs/components/ControlSelectAbstract.js +3 -3
- package/dist/cjs/components/ControlSelectAbstract.js.map +1 -1
- package/dist/cjs/components/components.js +0 -2
- package/dist/cjs/components/components.js.map +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/catalog/person/PersonCompact.js +10 -0
- package/dist/esm/api/catalog/person/PersonCompact.js.map +1 -0
- package/dist/esm/api/catalog/person/PersonService.js +10 -10
- package/dist/esm/api/catalog/person/PersonService.js.map +1 -1
- package/dist/esm/api/catalog/person/person.module.js +1 -1
- package/dist/esm/api/catalog/person/person.module.js.map +1 -1
- package/dist/esm/api/fiscal/br/FiscalBrService.js +1 -0
- package/dist/esm/api/fiscal/br/FiscalBrService.js.map +1 -1
- package/dist/esm/api/sale/QuoteItem.js +1 -0
- package/dist/esm/api/sale/QuoteItem.js.map +1 -1
- package/dist/esm/api/supply/production/ArgsProductionOrderOpCreate.js.map +1 -1
- package/dist/esm/api/supply/production/ArgsProductionStepOpCreate.js +7 -0
- package/dist/esm/api/supply/production/ArgsProductionStepOpCreate.js.map +1 -0
- package/dist/esm/api/supply/production/ProductionOrder.js +3 -4
- package/dist/esm/api/supply/production/ProductionOrder.js.map +1 -1
- package/dist/esm/api/supply/production/ProductionService.js +30 -0
- package/dist/esm/api/supply/production/ProductionService.js.map +1 -1
- package/dist/esm/api/supply/production/ProductionStep.js +1 -0
- package/dist/esm/api/supply/production/ProductionStep.js.map +1 -1
- package/dist/esm/api/supply/purchase/ProposalRequest.js +12 -0
- package/dist/esm/api/supply/purchase/ProposalRequest.js.map +1 -0
- package/dist/esm/api/supply/purchase/PurchaseService.js +21 -0
- package/dist/esm/api/supply/purchase/PurchaseService.js.map +1 -1
- package/dist/esm/api/supply/purchase/QuoteItem.js +1 -0
- package/dist/esm/api/supply/purchase/QuoteItem.js.map +1 -1
- package/dist/esm/api/supply/purchase/purchase.module.js +1 -0
- package/dist/esm/api/supply/purchase/purchase.module.js.map +1 -1
- package/dist/esm/api/system/report/ReportService.js +1 -0
- package/dist/esm/api/system/report/ReportService.js.map +1 -1
- package/dist/esm/components/AsyncIteratorZen.js +94 -0
- package/dist/esm/components/AsyncIteratorZen.js.map +1 -0
- package/dist/esm/components/ControlCatalogCategory.js +40 -0
- package/dist/esm/components/ControlCatalogCategory.js.map +1 -0
- package/dist/esm/components/ControlCatalogCompanyCompany.js +41 -0
- package/dist/esm/components/ControlCatalogCompanyCompany.js.map +1 -0
- package/dist/esm/components/ControlCatalogCompanySociety.js +41 -0
- package/dist/esm/components/ControlCatalogCompanySociety.js.map +1 -0
- package/dist/esm/components/ControlCatalogLocationCity.js +40 -0
- package/dist/esm/components/ControlCatalogLocationCity.js.map +1 -0
- package/dist/esm/components/ControlCatalogLocationCountry.js +43 -0
- package/dist/esm/components/ControlCatalogLocationCountry.js.map +1 -0
- package/dist/esm/components/ControlCatalogLocationState.js +41 -0
- package/dist/esm/components/ControlCatalogLocationState.js.map +1 -0
- package/dist/esm/components/ControlCatalogPersonPerson.js +49 -0
- package/dist/esm/components/ControlCatalogPersonPerson.js.map +1 -0
- package/dist/esm/components/ControlCatalogPersonPersonAddress.js +60 -0
- package/dist/esm/components/ControlCatalogPersonPersonAddress.js.map +1 -0
- package/dist/esm/components/ControlCatalogPersonPersonGroup.js +40 -0
- package/dist/esm/components/ControlCatalogPersonPersonGroup.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductCodeConversionList.js +40 -0
- package/dist/esm/components/ControlCatalogProductCodeConversionList.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductDimension.js +40 -0
- package/dist/esm/components/ControlCatalogProductDimension.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductProduct.js +52 -0
- package/dist/esm/components/ControlCatalogProductProduct.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductProductPacking.js +75 -0
- package/dist/esm/components/ControlCatalogProductProductPacking.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductProductProfile.js +49 -0
- package/dist/esm/components/ControlCatalogProductProductProfile.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductProductVariant.js +41 -0
- package/dist/esm/components/ControlCatalogProductProductVariant.js.map +1 -0
- package/dist/esm/components/ControlCatalogProductUnit.js +41 -0
- package/dist/esm/components/ControlCatalogProductUnit.js.map +1 -0
- package/dist/esm/components/ControlCheckBox.js +39 -0
- package/dist/esm/components/ControlCheckBox.js.map +1 -0
- package/dist/esm/components/ControlColor.js +50 -0
- package/dist/esm/components/ControlColor.js.map +1 -0
- package/dist/esm/components/ControlCommercialContractContract.js +40 -0
- package/dist/esm/components/ControlCommercialContractContract.js.map +1 -0
- package/dist/esm/components/ControlCommercialContractContractIndex.js +41 -0
- package/dist/esm/components/ControlCommercialContractContractIndex.js.map +1 -0
- package/dist/esm/components/ControlCommercialContractContractItem.js +41 -0
- package/dist/esm/components/ControlCommercialContractContractItem.js.map +1 -0
- package/dist/esm/components/ControlCommercialContractContractProfile.js +41 -0
- package/dist/esm/components/ControlCommercialContractContractProfile.js.map +1 -0
- package/dist/esm/components/ControlCommercialPaymentType.js +40 -0
- package/dist/esm/components/ControlCommercialPaymentType.js.map +1 -0
- package/dist/esm/components/ControlCommercialPriceList.js +41 -0
- package/dist/esm/components/ControlCommercialPriceList.js.map +1 -0
- package/dist/esm/components/ControlDatetime.js +68 -0
- package/dist/esm/components/ControlDatetime.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingAccount.js +42 -0
- package/dist/esm/components/ControlFinancialAccountingAccount.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingAccountCategory.js +40 -0
- package/dist/esm/components/ControlFinancialAccountingAccountCategory.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingAccountChart.js +41 -0
- package/dist/esm/components/ControlFinancialAccountingAccountChart.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingAccountFiscalYear.js +46 -0
- package/dist/esm/components/ControlFinancialAccountingAccountFiscalYear.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingResultCenter.js +42 -0
- package/dist/esm/components/ControlFinancialAccountingResultCenter.js.map +1 -0
- package/dist/esm/components/ControlFinancialAccountingResultCenterChart.js +41 -0
- package/dist/esm/components/ControlFinancialAccountingResultCenterChart.js.map +1 -0
- package/dist/esm/components/ControlFinancialBillingWallet.js +40 -0
- package/dist/esm/components/ControlFinancialBillingWallet.js.map +1 -0
- package/dist/esm/components/ControlFinancialCreditCreditLine.js +40 -0
- package/dist/esm/components/ControlFinancialCreditCreditLine.js.map +1 -0
- package/dist/esm/components/ControlFinancialCurrency.js +40 -0
- package/dist/esm/components/ControlFinancialCurrency.js.map +1 -0
- package/dist/esm/components/ControlFinancialPayable.js +41 -0
- package/dist/esm/components/ControlFinancialPayable.js.map +1 -0
- package/dist/esm/components/ControlFinancialReceivable.js +41 -0
- package/dist/esm/components/ControlFinancialReceivable.js.map +1 -0
- package/dist/esm/components/ControlFiscalFiscalProfileOperation.js +41 -0
- package/dist/esm/components/ControlFiscalFiscalProfileOperation.js.map +1 -0
- package/dist/esm/components/ControlFiscalFiscalProfilePerson.js +39 -0
- package/dist/esm/components/ControlFiscalFiscalProfilePerson.js.map +1 -0
- package/dist/esm/components/ControlFiscalFiscalProfileProduct.js +41 -0
- package/dist/esm/components/ControlFiscalFiscalProfileProduct.js.map +1 -0
- package/dist/esm/components/ControlFiscalFiscalRegion.js +40 -0
- package/dist/esm/components/ControlFiscalFiscalRegion.js.map +1 -0
- package/dist/esm/components/ControlFiscalIncomingInvoice.js +51 -0
- package/dist/esm/components/ControlFiscalIncomingInvoice.js.map +1 -0
- package/dist/esm/components/ControlFiscalInvoiceSeries.js +40 -0
- package/dist/esm/components/ControlFiscalInvoiceSeries.js.map +1 -0
- package/dist/esm/components/ControlFiscalTaxationTax.js +40 -0
- package/dist/esm/components/ControlFiscalTaxationTax.js.map +1 -0
- package/dist/esm/components/ControlFiscalTaxationTaxationOperation.js +41 -0
- package/dist/esm/components/ControlFiscalTaxationTaxationOperation.js.map +1 -0
- package/dist/esm/components/ControlFiscalVolume.js +40 -0
- package/dist/esm/components/ControlFiscalVolume.js.map +1 -0
- package/dist/esm/components/ControlHideAndSeek.js +57 -0
- package/dist/esm/components/ControlHideAndSeek.js.map +1 -0
- package/dist/esm/components/ControlInput.js +64 -0
- package/dist/esm/components/ControlInput.js.map +1 -0
- package/dist/esm/components/ControlInputNumber.js +98 -0
- package/dist/esm/components/ControlInputNumber.js.map +1 -0
- package/dist/esm/components/ControlMaterialAddress.js +40 -0
- package/dist/esm/components/ControlMaterialAddress.js.map +1 -0
- package/dist/esm/components/ControlMaterialAddressProfile.js +40 -0
- package/dist/esm/components/ControlMaterialAddressProfile.js.map +1 -0
- package/dist/esm/components/ControlMaterialHandlintUnit.js +40 -0
- package/dist/esm/components/ControlMaterialHandlintUnit.js.map +1 -0
- package/dist/esm/components/ControlMaterialIncomingList.js +44 -0
- package/dist/esm/components/ControlMaterialIncomingList.js.map +1 -0
- package/dist/esm/components/ControlMaterialIncomingRequest.js +44 -0
- package/dist/esm/components/ControlMaterialIncomingRequest.js.map +1 -0
- package/dist/esm/components/ControlMaterialInventory.js +40 -0
- package/dist/esm/components/ControlMaterialInventory.js.map +1 -0
- package/dist/esm/components/ControlMaterialLot.js +40 -0
- package/dist/esm/components/ControlMaterialLot.js.map +1 -0
- package/dist/esm/components/ControlMaterialOutgoingList.js +40 -0
- package/dist/esm/components/ControlMaterialOutgoingList.js.map +1 -0
- package/dist/esm/components/ControlMaterialPickingOrder.js +40 -0
- package/dist/esm/components/ControlMaterialPickingOrder.js.map +1 -0
- package/dist/esm/components/ControlMaterialPickingProfile.js +41 -0
- package/dist/esm/components/ControlMaterialPickingProfile.js.map +1 -0
- package/dist/esm/components/ControlMaterialQuality.js +40 -0
- package/dist/esm/components/ControlMaterialQuality.js.map +1 -0
- package/dist/esm/components/ControlMaterialReservation.js +40 -0
- package/dist/esm/components/ControlMaterialReservation.js.map +1 -0
- package/dist/esm/components/ControlMaterialReservationTarget.js +42 -0
- package/dist/esm/components/ControlMaterialReservationTarget.js.map +1 -0
- package/dist/esm/components/ControlMaterialSerial.js +40 -0
- package/dist/esm/components/ControlMaterialSerial.js.map +1 -0
- package/dist/esm/components/ControlMaterialStockCluster.js +41 -0
- package/dist/esm/components/ControlMaterialStockCluster.js.map +1 -0
- package/dist/esm/components/ControlMaterialStockType.js +46 -0
- package/dist/esm/components/ControlMaterialStockType.js.map +1 -0
- package/dist/esm/components/ControlMaterialWarehouse.js +40 -0
- package/dist/esm/components/ControlMaterialWarehouse.js.map +1 -0
- package/dist/esm/components/ControlSalePriceFormation.js +41 -0
- package/dist/esm/components/ControlSalePriceFormation.js.map +1 -0
- package/dist/esm/components/ControlSalePriceList.js +41 -0
- package/dist/esm/components/ControlSalePriceList.js.map +1 -0
- package/dist/esm/components/ControlSaleSale.js +44 -0
- package/dist/esm/components/ControlSaleSale.js.map +1 -0
- package/dist/esm/components/ControlSaleSaleProfile.js +41 -0
- package/dist/esm/components/ControlSaleSaleProfile.js.map +1 -0
- package/dist/esm/components/ControlSelect.js +76 -0
- package/dist/esm/components/ControlSelect.js.map +1 -0
- package/dist/esm/components/ControlSelectAbstract.js +494 -0
- package/dist/esm/components/ControlSelectAbstract.js.map +1 -0
- package/dist/esm/components/ControlSelectZen.js +120 -0
- package/dist/esm/components/ControlSelectZen.js.map +1 -0
- package/dist/esm/components/ControlShippingShipment.js +39 -0
- package/dist/esm/components/ControlShippingShipment.js.map +1 -0
- package/dist/esm/components/ControlSupplyProductionOperationType.js +40 -0
- package/dist/esm/components/ControlSupplyProductionOperationType.js.map +1 -0
- package/dist/esm/components/ControlSupplyProductionProductionOrder.js +44 -0
- package/dist/esm/components/ControlSupplyProductionProductionOrder.js.map +1 -0
- package/dist/esm/components/ControlSupplyProductionProductionProfile.js +41 -0
- package/dist/esm/components/ControlSupplyProductionProductionProfile.js.map +1 -0
- package/dist/esm/components/ControlSupplyProductionProductionStep.js +44 -0
- package/dist/esm/components/ControlSupplyProductionProductionStep.js.map +1 -0
- package/dist/esm/components/ControlSupplyPurchasePriceList.js +41 -0
- package/dist/esm/components/ControlSupplyPurchasePriceList.js.map +1 -0
- package/dist/esm/components/ControlSupplyPurchasePurchase.js +54 -0
- package/dist/esm/components/ControlSupplyPurchasePurchase.js.map +1 -0
- package/dist/esm/components/ControlSupplyPurchasePurchaseItem.js +52 -0
- package/dist/esm/components/ControlSupplyPurchasePurchaseItem.js.map +1 -0
- package/dist/esm/components/ControlSupplyPurchasePurchaseProfile.js +41 -0
- package/dist/esm/components/ControlSupplyPurchasePurchaseProfile.js.map +1 -0
- package/dist/esm/components/ControlSupplyPurchaseQuoteItem.js +49 -0
- package/dist/esm/components/ControlSupplyPurchaseQuoteItem.js.map +1 -0
- package/dist/esm/components/ControlSvg.js +28 -0
- package/dist/esm/components/ControlSvg.js.map +1 -0
- package/dist/esm/components/ControlSwitch.js +41 -0
- package/dist/esm/components/ControlSwitch.js.map +1 -0
- package/dist/esm/components/ControlSwitches.js +57 -0
- package/dist/esm/components/ControlSwitches.js.map +1 -0
- package/dist/esm/components/ControlSystemAutomationAgent.js +40 -0
- package/dist/esm/components/ControlSystemAutomationAgent.js.map +1 -0
- package/dist/esm/components/ControlSystemDataDataSource.js +40 -0
- package/dist/esm/components/ControlSystemDataDataSource.js.map +1 -0
- package/dist/esm/components/ControlSystemImageImage.js +41 -0
- package/dist/esm/components/ControlSystemImageImage.js.map +1 -0
- package/dist/esm/components/ControlSystemIntegrationQueue.js +40 -0
- package/dist/esm/components/ControlSystemIntegrationQueue.js.map +1 -0
- package/dist/esm/components/ControlSystemIntegrationTopic.js +40 -0
- package/dist/esm/components/ControlSystemIntegrationTopic.js.map +1 -0
- package/dist/esm/components/ControlSystemMailMailerConfig.js +41 -0
- package/dist/esm/components/ControlSystemMailMailerConfig.js.map +1 -0
- package/dist/esm/components/ControlSystemPrintingPrinter.js +41 -0
- package/dist/esm/components/ControlSystemPrintingPrinter.js.map +1 -0
- package/dist/esm/components/ControlSystemReportReport.js +40 -0
- package/dist/esm/components/ControlSystemReportReport.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityAccessPoint.js +41 -0
- package/dist/esm/components/ControlSystemSecurityAccessPoint.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityAccessProfile.js +41 -0
- package/dist/esm/components/ControlSystemSecurityAccessProfile.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityGroup.js +43 -0
- package/dist/esm/components/ControlSystemSecurityGroup.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityKeyStore.js +40 -0
- package/dist/esm/components/ControlSystemSecurityKeyStore.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityRole.js +40 -0
- package/dist/esm/components/ControlSystemSecurityRole.js.map +1 -0
- package/dist/esm/components/ControlSystemSecurityUser.js +40 -0
- package/dist/esm/components/ControlSystemSecurityUser.js.map +1 -0
- package/dist/esm/components/ControlSystemWorkflowWorkflow.js +42 -0
- package/dist/esm/components/ControlSystemWorkflowWorkflow.js.map +1 -0
- package/dist/esm/components/ControlSystemWorkflowWorkflowNode.js +42 -0
- package/dist/esm/components/ControlSystemWorkflowWorkflowNode.js.map +1 -0
- package/dist/esm/components/ControlTag.js +50 -0
- package/dist/esm/components/ControlTag.js.map +1 -0
- package/dist/esm/components/ControlTags.js +103 -0
- package/dist/esm/components/ControlTags.js.map +1 -0
- package/dist/esm/components/ControlTagsView.js +55 -0
- package/dist/esm/components/ControlTagsView.js.map +1 -0
- package/dist/esm/components/ControlTemplate.js +25 -0
- package/dist/esm/components/ControlTemplate.js.map +1 -0
- package/dist/esm/components/ControlTextArea.js +4 -0
- package/dist/esm/components/ControlTextArea.js.map +1 -0
- package/dist/esm/components/StringUtils.js +18 -0
- package/dist/esm/components/StringUtils.js.map +1 -0
- package/dist/esm/components/Tags.js +47 -0
- package/dist/esm/components/Tags.js.map +1 -0
- package/dist/esm/components/components.js +209 -0
- package/dist/esm/components/components.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/iife/zenerpclient.js +1 -1
- package/dist/iife/zenerpclient.js.map +1 -1
- package/dist/types/api/catalog/person/PersonCompact.d.ts +9 -0
- package/dist/types/api/catalog/person/PersonService.d.ts +3 -3
- package/dist/types/api/catalog/person/person.module.d.ts +1 -1
- package/dist/types/api/sale/QuoteItem.d.ts +1 -0
- package/dist/types/api/supply/production/ArgsProductionStepOpCreate.d.ts +7 -0
- package/dist/types/api/supply/production/ProductionOrder.d.ts +4 -5
- package/dist/types/api/supply/production/ProductionService.d.ts +6 -0
- package/dist/types/api/supply/production/ProductionStep.d.ts +1 -0
- package/dist/types/api/supply/purchase/ProposalRequest.d.ts +14 -0
- package/dist/types/api/supply/purchase/PurchaseService.d.ts +3 -0
- package/dist/types/api/supply/purchase/QuoteItem.d.ts +1 -0
- package/dist/types/api/supply/purchase/purchase.module.d.ts +1 -0
- package/dist/types/components/ControlCheckBox.d.ts +2 -2
- package/dist/types/components/ControlColor.d.ts +1 -1
- package/dist/types/components/ControlDatetime.d.ts +3 -3
- package/dist/types/components/ControlSelect.d.ts +1 -1
- package/dist/types/components/ControlSelectAbstract.d.ts +2 -2
- package/dist/types/index.d.ts +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import ControlSelectZen from "./ControlSelectZen.js";
|
|
2
|
+
import AsyncIteratorZen from "./AsyncIteratorZen.js";
|
|
3
|
+
export default class ControlSaleSaleProfile extends ControlSelectZen {
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this._order = "code";
|
|
7
|
+
}
|
|
8
|
+
getAsyncIteratorZen(args) {
|
|
9
|
+
const params = new URLSearchParams();
|
|
10
|
+
// q
|
|
11
|
+
{
|
|
12
|
+
const q = [];
|
|
13
|
+
// text
|
|
14
|
+
if (args?.text) {
|
|
15
|
+
const tmp = [];
|
|
16
|
+
if (Number(args.text) === Number.parseInt(args.text, 10)) {
|
|
17
|
+
tmp.push(`id==${Number.parseInt(args.text, 10)}`);
|
|
18
|
+
}
|
|
19
|
+
tmp.push(`code=ilike=${`'${args.text}%'`}`);
|
|
20
|
+
tmp.push(`description=ilike=${`'${args.text}%'`}`);
|
|
21
|
+
q.push(`(${tmp.join(",")})`); // OR
|
|
22
|
+
}
|
|
23
|
+
// filter
|
|
24
|
+
if (args?.filter) {
|
|
25
|
+
q.push(args.filter);
|
|
26
|
+
}
|
|
27
|
+
if (q.length) {
|
|
28
|
+
params.append("q", q.join(";")); // AND
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// order
|
|
32
|
+
if (args?.order) {
|
|
33
|
+
params.append("order", args.order);
|
|
34
|
+
}
|
|
35
|
+
return new AsyncIteratorZen(`/sale/saleProfile${params.toString() ? `?${params.toString()}` : ""}`);
|
|
36
|
+
}
|
|
37
|
+
getString(value) {
|
|
38
|
+
return value ? `${value.description || value.code || value.id}` : null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=ControlSaleSaleProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlSaleSaleProfile.js","sourceRoot":"","sources":["../../../src/components/ControlSaleSaleProfile.ts"],"names":[],"mappings":"AAAA,OAAO,gBAEN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,gBAAqB;IACvE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,mBAAmB,CAAC,IAA0B;QACtD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,IAAI;QACJ,CAAC;YACC,MAAM,CAAC,GAAa,EAAE,CAAC;YAEvB,OAAO;YACP,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;YACrC,CAAC;YAED,SAAS;YACT,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;YACzC,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,gBAAgB,CACzB,oBAAoB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IAES,SAAS,CAAC,KAAU;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import ControlSelectAbstract from "./ControlSelectAbstract.js";
|
|
2
|
+
export default class ControlSelect extends ControlSelectAbstract {
|
|
3
|
+
_options = [];
|
|
4
|
+
// constructor() {
|
|
5
|
+
// super();
|
|
6
|
+
// this._fetchSize = 1000;
|
|
7
|
+
// }
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
// Load _options from the original <option> elements and remove them
|
|
10
|
+
if (this._options == null) {
|
|
11
|
+
this._options = [];
|
|
12
|
+
this.root.querySelectorAll("option").forEach((option) => {
|
|
13
|
+
this._options.push({
|
|
14
|
+
value: option.value ? option.value : (option.textContent ?? "").trim(),
|
|
15
|
+
text: (option.textContent ?? "").trim(),
|
|
16
|
+
});
|
|
17
|
+
option.remove();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
// Translate option's text
|
|
21
|
+
(async () => {
|
|
22
|
+
for (const option of this._options) {
|
|
23
|
+
// option.text = await (<any> window).zen?.ctx.i18n.getResourceA(option.text);
|
|
24
|
+
}
|
|
25
|
+
})();
|
|
26
|
+
super.connectedCallback();
|
|
27
|
+
}
|
|
28
|
+
getIterator(text) {
|
|
29
|
+
let options;
|
|
30
|
+
if (text) {
|
|
31
|
+
options = this._options.filter((e) => e.text.toLowerCase().includes(text.toLowerCase()));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
options = this._options;
|
|
35
|
+
}
|
|
36
|
+
// const range = {
|
|
37
|
+
// [Symbol.asyncIterator]() {
|
|
38
|
+
// return {
|
|
39
|
+
// current: 0,
|
|
40
|
+
// async next() {
|
|
41
|
+
// if (this.current < options.length) {
|
|
42
|
+
// return { done: false, value: options[this.current++] };
|
|
43
|
+
// }
|
|
44
|
+
// return { done: true, value: null };
|
|
45
|
+
// },
|
|
46
|
+
// };
|
|
47
|
+
// },
|
|
48
|
+
// };
|
|
49
|
+
// return range[Symbol.asyncIterator]();
|
|
50
|
+
let current = 0;
|
|
51
|
+
return {
|
|
52
|
+
async next() {
|
|
53
|
+
if (current < options.length) {
|
|
54
|
+
return { done: false, value: options[current++] };
|
|
55
|
+
}
|
|
56
|
+
return { done: true, value: null };
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
getString(value) {
|
|
61
|
+
return value?.text;
|
|
62
|
+
}
|
|
63
|
+
toEXT(value) {
|
|
64
|
+
return value?.value;
|
|
65
|
+
}
|
|
66
|
+
toINT(value) {
|
|
67
|
+
return this._options.find((e) => e.value === value);
|
|
68
|
+
}
|
|
69
|
+
compare(a, b) {
|
|
70
|
+
if (a.value === b.value) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
return a.value < b.value ? -1 : 1;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ControlSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlSelect.js","sourceRoot":"","sources":["../../../src/components/ControlSelect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
// TODO multiple (UX) (checkbox on selection)
|
|
2
|
+
// TODO __options above or below depending on space available
|
|
3
|
+
// TODO __options float over all elements (even when parent does not overflow)
|
|
4
|
+
// TODO html items (getString)
|
|
5
|
+
// TODO não está encontrando quando pesquisa pela string ". Testar * tb
|
|
6
|
+
// TODO erro ao pesquisar '
|
|
7
|
+
// TODO hide options on scroll outside
|
|
8
|
+
// TODO ao clicar em um "value" ou em qq elemento filho do controle, o foco deveria cair no input
|
|
9
|
+
// TODO unique (não permite valores repetidos)
|
|
10
|
+
// TODO Ao pesquisar por um texto sem correspondencia, está mostrando/escondendo o
|
|
11
|
+
// painel __options rapidamente
|
|
12
|
+
// TODO Attributes: ['disabled', 'required'];
|
|
13
|
+
// TODO pageup/pagedown não funciona
|
|
14
|
+
// TODO atributo [disabled] - desabilitar o controle
|
|
15
|
+
import _debounce from "lodash.debounce";
|
|
16
|
+
import StringUtils from "./StringUtils.js";
|
|
17
|
+
import ControlHideAndSeek from "./ControlHideAndSeek.js";
|
|
18
|
+
// INT - Internal type, EXT - External type
|
|
19
|
+
export default class ControlSelectAbstract extends HTMLElement {
|
|
20
|
+
_root;
|
|
21
|
+
// Container for __toggler, __values and __input
|
|
22
|
+
__core;
|
|
23
|
+
__toggler;
|
|
24
|
+
__values;
|
|
25
|
+
__input;
|
|
26
|
+
// Container for __ul
|
|
27
|
+
__options;
|
|
28
|
+
__ul;
|
|
29
|
+
_connected = false;
|
|
30
|
+
_closed = true;
|
|
31
|
+
_loading = false;
|
|
32
|
+
_text = "";
|
|
33
|
+
_textValues = [];
|
|
34
|
+
_iterator;
|
|
35
|
+
_values = [];
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
this._root = this;
|
|
39
|
+
}
|
|
40
|
+
static get observedAttributes() {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
connectedCallback() {
|
|
44
|
+
// Remove children
|
|
45
|
+
while (this._root.lastChild) {
|
|
46
|
+
this._root.lastChild.remove();
|
|
47
|
+
}
|
|
48
|
+
this._root.classList.add("ps-select");
|
|
49
|
+
// Container for _input and _toggler
|
|
50
|
+
this.__core = this._root.appendChild(document.createElement("div"));
|
|
51
|
+
this.__core.classList.add("ps-select__core");
|
|
52
|
+
this.__toggler = this.__core.appendChild(document.createElement("div"));
|
|
53
|
+
this.__toggler.classList.add("ps-select__toggler");
|
|
54
|
+
this.__toggler.classList.add("closed");
|
|
55
|
+
this.__toggler.addEventListener("click", () => {
|
|
56
|
+
// Disabled
|
|
57
|
+
if (this.hasAttribute("disabled")) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.toggle();
|
|
61
|
+
});
|
|
62
|
+
this.__values = this.__core.appendChild(document.createElement("div"));
|
|
63
|
+
this.__values.classList.add("ps-select__values");
|
|
64
|
+
this.__input = this.__values.appendChild(document.createElement("input"));
|
|
65
|
+
this.__input.classList.add("ps-select__input");
|
|
66
|
+
this.__input.addEventListener("change", (e) => {
|
|
67
|
+
// Change events will be handled by _root, so _input must not bubble
|
|
68
|
+
e.stopPropagation();
|
|
69
|
+
});
|
|
70
|
+
// Debouncing to reduce number of requests
|
|
71
|
+
// https://css-tricks.com/the-difference-between-throttling-and-debouncing/
|
|
72
|
+
const _bottleneck = _debounce(() => {
|
|
73
|
+
this.open();
|
|
74
|
+
}, 375);
|
|
75
|
+
this.__input.addEventListener("input", (e) => {
|
|
76
|
+
// Disabled
|
|
77
|
+
if (this.hasAttribute("disabled")) {
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this._text = this.__input.value || "";
|
|
82
|
+
_bottleneck();
|
|
83
|
+
});
|
|
84
|
+
// Container for <ul> and <more>
|
|
85
|
+
this.__options = this._root.appendChild(document.createElement("div"));
|
|
86
|
+
this.__options.classList.add("ps-select__options");
|
|
87
|
+
this.__options.classList.add("closed");
|
|
88
|
+
this.__options.tabIndex = -1;
|
|
89
|
+
/*
|
|
90
|
+
* UX
|
|
91
|
+
*/
|
|
92
|
+
// Click outside
|
|
93
|
+
document.addEventListener("click", (e) => {
|
|
94
|
+
if (!this._root.contains(e.target)) {
|
|
95
|
+
if (!this._closed) {
|
|
96
|
+
this.close();
|
|
97
|
+
}
|
|
98
|
+
this.__input.value = "";
|
|
99
|
+
this._text = "";
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
// Focus outside
|
|
103
|
+
document.addEventListener("focusin", (e) => {
|
|
104
|
+
if (!this._root.contains(e.target)) {
|
|
105
|
+
if (!this._closed) {
|
|
106
|
+
this.close();
|
|
107
|
+
}
|
|
108
|
+
this.__input.value = "";
|
|
109
|
+
this._text = "";
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
// Scroll outside TODO not working
|
|
113
|
+
this._root.addEventListener("scroll", (e) => {
|
|
114
|
+
if (!this._root.contains(e.target)) {
|
|
115
|
+
if (!this._closed) {
|
|
116
|
+
this.close();
|
|
117
|
+
}
|
|
118
|
+
this.__input.value = "";
|
|
119
|
+
this._text = "";
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
// Toggle options panel on _root Alt+ArrowDown or Alt+ArrowUp
|
|
123
|
+
this._root.addEventListener("keydown", (e) => {
|
|
124
|
+
// Disabled
|
|
125
|
+
if (this.hasAttribute("disabled")) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (e.altKey
|
|
129
|
+
&& !e.ctrlKey
|
|
130
|
+
&& !e.metaKey
|
|
131
|
+
&& !e.shiftKey
|
|
132
|
+
&& (e.key === "ArrowDown" || e.key === "ArrowUp")) {
|
|
133
|
+
e.preventDefault();
|
|
134
|
+
this.toggle();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
this.__input.addEventListener("keydown", (e) => {
|
|
138
|
+
// Disabled
|
|
139
|
+
if (this.hasAttribute("disabled")) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
// Focus on options panel on _input ArrowDown
|
|
143
|
+
if (!e.altKey
|
|
144
|
+
&& !e.ctrlKey
|
|
145
|
+
&& !e.metaKey
|
|
146
|
+
&& !e.shiftKey
|
|
147
|
+
&& e.key === "ArrowDown"
|
|
148
|
+
&& !this._closed) {
|
|
149
|
+
e.preventDefault();
|
|
150
|
+
this._focusOptions();
|
|
151
|
+
}
|
|
152
|
+
// Remove last value on _input Backspace
|
|
153
|
+
if (!e.altKey
|
|
154
|
+
&& !e.ctrlKey
|
|
155
|
+
&& !e.metaKey
|
|
156
|
+
&& !e.shiftKey
|
|
157
|
+
&& e.key === "Backspace"
|
|
158
|
+
&& this._text === "") {
|
|
159
|
+
//
|
|
160
|
+
if (this.values.length) {
|
|
161
|
+
// This block is not working, dont know why
|
|
162
|
+
// Replaced with the next block
|
|
163
|
+
// const temp = [...this.values];
|
|
164
|
+
// temp.splice(temp.length - 1, 1);
|
|
165
|
+
// this.values = temp;
|
|
166
|
+
const _values = [...this._values];
|
|
167
|
+
_values.splice(_values.length - 1, 1);
|
|
168
|
+
this._setValues(_values);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
this.__input.addEventListener("keypress", (e) => {
|
|
173
|
+
// Disabled
|
|
174
|
+
if (this.hasAttribute("disabled")) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
// Enter - Select first item
|
|
178
|
+
if (!e.altKey
|
|
179
|
+
&& !e.ctrlKey
|
|
180
|
+
&& !e.metaKey
|
|
181
|
+
&& !e.shiftKey
|
|
182
|
+
&& e.key === "Enter"
|
|
183
|
+
&& !this._closed) {
|
|
184
|
+
e.preventDefault();
|
|
185
|
+
const li = this.__ul.querySelector("li");
|
|
186
|
+
if (li) {
|
|
187
|
+
li.click();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
this._connected = true;
|
|
192
|
+
}
|
|
193
|
+
get root() {
|
|
194
|
+
return this._root;
|
|
195
|
+
}
|
|
196
|
+
get connected() {
|
|
197
|
+
return this._connected;
|
|
198
|
+
}
|
|
199
|
+
get value() {
|
|
200
|
+
if (this.hasAttribute("multiple")) {
|
|
201
|
+
return this.values;
|
|
202
|
+
}
|
|
203
|
+
return !this.values.length ? null : this.values[0];
|
|
204
|
+
}
|
|
205
|
+
set value(value) {
|
|
206
|
+
if (this.hasAttribute("multiple")) {
|
|
207
|
+
this.values = value;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
const tmp = value;
|
|
211
|
+
this.values = tmp ? [tmp] : [];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
get values() {
|
|
215
|
+
return this._values.map((o) => this.toEXT(o));
|
|
216
|
+
}
|
|
217
|
+
set values(values) {
|
|
218
|
+
if (values == null || values.length === 0) {
|
|
219
|
+
this._values = [];
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// Remove duplicates
|
|
223
|
+
const _values = [];
|
|
224
|
+
values.forEach((external) => {
|
|
225
|
+
const internal = this.toINT(external);
|
|
226
|
+
if (!_values.find((e) => this.compare(e, internal) === 0)) {
|
|
227
|
+
_values.push(internal);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
this._values = _values;
|
|
231
|
+
}
|
|
232
|
+
// else this._values = values.map((o) => this.toINT(o));
|
|
233
|
+
if (!this.hasAttribute("multiple") && this._values.length > 1) {
|
|
234
|
+
this._values = [this._values[0]];
|
|
235
|
+
}
|
|
236
|
+
// Clear the input value
|
|
237
|
+
this.__input.value = "";
|
|
238
|
+
// Remove actual value elements
|
|
239
|
+
this.__values
|
|
240
|
+
.querySelectorAll(".ps-select__value")
|
|
241
|
+
.forEach((e) => e.remove());
|
|
242
|
+
// Create 1 element for each value
|
|
243
|
+
this._textValues = [];
|
|
244
|
+
for (let i = 0; i < this._values.length; i++) {
|
|
245
|
+
const text = this.getString(this._values[i]) ?? "";
|
|
246
|
+
this._textValues.push(text);
|
|
247
|
+
const hash = (StringUtils.hash(text) % 20) + 1;
|
|
248
|
+
const div = this.__values.insertBefore(document.createElement("div"), this.__input);
|
|
249
|
+
div.classList.add("ps-select__value");
|
|
250
|
+
div.classList.add(`ps-color-${hash}`, `color-${hash}`);
|
|
251
|
+
div.textContent = text;
|
|
252
|
+
// Remove button
|
|
253
|
+
const button = div.appendChild(document.createElement("div"));
|
|
254
|
+
button.classList.add("ps-select__deleteValue");
|
|
255
|
+
button.addEventListener("click", () => {
|
|
256
|
+
// Disabled
|
|
257
|
+
if (this.hasAttribute("disabled")) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const _values = [...this._values];
|
|
261
|
+
_values.splice(i, 1);
|
|
262
|
+
this._setValues(_values);
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// Dispatch a change event when the value is changed by an user action
|
|
267
|
+
_setValues(values) {
|
|
268
|
+
if (!values) {
|
|
269
|
+
this.values = [];
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
this.values = values.map((o) => this.toEXT(o));
|
|
273
|
+
}
|
|
274
|
+
this.dispatchEvent(new Event("change", { bubbles: true, cancelable: false }));
|
|
275
|
+
}
|
|
276
|
+
// Focus on <ul> and mark selected <li>
|
|
277
|
+
_focusOptions() {
|
|
278
|
+
const ul = this.__ul;
|
|
279
|
+
ul.focus();
|
|
280
|
+
ul.__select(ul.__selected
|
|
281
|
+
|| ul.querySelector("li.selected")
|
|
282
|
+
|| ul.querySelector("li"));
|
|
283
|
+
}
|
|
284
|
+
disconnectedCallback() {
|
|
285
|
+
this._connected = false;
|
|
286
|
+
}
|
|
287
|
+
async open() {
|
|
288
|
+
this.__toggler.classList.remove("closed");
|
|
289
|
+
this.__options.classList.remove("closed");
|
|
290
|
+
this.__options.style.width = `${this._root.offsetWidth}`;
|
|
291
|
+
this._closed = false;
|
|
292
|
+
setTimeout(() => {
|
|
293
|
+
if (this.__options.getBoundingClientRect().bottom > window.innerHeight) {
|
|
294
|
+
this.__options.classList.add("up");
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
this.__options.classList.remove("up");
|
|
298
|
+
}
|
|
299
|
+
}, 0);
|
|
300
|
+
await this.refreshOptions();
|
|
301
|
+
}
|
|
302
|
+
close() {
|
|
303
|
+
this.__toggler.classList.add("closed");
|
|
304
|
+
this.__options.classList.add("closed");
|
|
305
|
+
const ul = this.__options.querySelector("ul");
|
|
306
|
+
if (ul) {
|
|
307
|
+
ul.remove();
|
|
308
|
+
}
|
|
309
|
+
this._iterator = undefined;
|
|
310
|
+
this._closed = true;
|
|
311
|
+
}
|
|
312
|
+
toggle() {
|
|
313
|
+
if (this._closed) {
|
|
314
|
+
(async () => {
|
|
315
|
+
await this.open();
|
|
316
|
+
this._focusOptions();
|
|
317
|
+
})();
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
this.close();
|
|
321
|
+
this.__input.focus();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
async refreshOptions() {
|
|
325
|
+
this._iterator = this.getIterator(this._text);
|
|
326
|
+
// Create a new <ul> to avoid conflicts
|
|
327
|
+
const ul = document.createElement("ul");
|
|
328
|
+
ul.tabIndex = -1;
|
|
329
|
+
const more = ul.appendChild(document.createElement("button"));
|
|
330
|
+
more.tabIndex = -1;
|
|
331
|
+
more.textContent = "more";
|
|
332
|
+
more.addEventListener("click", () => this.fetch());
|
|
333
|
+
ControlHideAndSeek.whenVisible(more).then(() => {
|
|
334
|
+
this.fetch();
|
|
335
|
+
});
|
|
336
|
+
// Function to mark <li> as selected
|
|
337
|
+
ul.__select = (li) => {
|
|
338
|
+
if (!li || !(li instanceof HTMLLIElement)) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
// Mark previous selected <li> as not selected
|
|
342
|
+
const selected = ul.__selected;
|
|
343
|
+
if (selected) {
|
|
344
|
+
selected.classList.remove("selected");
|
|
345
|
+
}
|
|
346
|
+
// Mark current <li> as selected
|
|
347
|
+
li.classList.add("selected");
|
|
348
|
+
li.scrollIntoView({
|
|
349
|
+
behavior: "smooth",
|
|
350
|
+
block: "nearest",
|
|
351
|
+
});
|
|
352
|
+
ul.__selected = li;
|
|
353
|
+
};
|
|
354
|
+
// Make <ul> navigable
|
|
355
|
+
ul.addEventListener("keydown", (e) => {
|
|
356
|
+
const selectLi = ul.__select;
|
|
357
|
+
const selected = ul.__selected
|
|
358
|
+
|| ul.querySelector("li.selected")
|
|
359
|
+
|| ul.querySelector("li");
|
|
360
|
+
// https://keycode.info
|
|
361
|
+
let proc = false;
|
|
362
|
+
if (!e.altKey && !e.ctrlKey && !e.metaKey && !e.shiftKey) {
|
|
363
|
+
proc = true;
|
|
364
|
+
if (e.key === "ArrowDown") {
|
|
365
|
+
selectLi(selected.nextElementSibling);
|
|
366
|
+
}
|
|
367
|
+
else if (e.key === "ArrowUp") {
|
|
368
|
+
selectLi(selected.previousElementSibling);
|
|
369
|
+
}
|
|
370
|
+
else if (e.key === "PageDown") {
|
|
371
|
+
for (let i = 0; i < 10; i++) {
|
|
372
|
+
selectLi(selected.nextElementSibling);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
else if (e.key === "PageUp") {
|
|
376
|
+
for (let i = 0; i < 10; i++) {
|
|
377
|
+
selectLi(selected.previousElementSibling);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
else if (e.key === "Enter") {
|
|
381
|
+
selected.click();
|
|
382
|
+
}
|
|
383
|
+
else if (e.key === "Escape") {
|
|
384
|
+
this.close();
|
|
385
|
+
this.__input.focus();
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
proc = false;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
if (proc) {
|
|
392
|
+
e.preventDefault();
|
|
393
|
+
e.stopPropagation();
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
// Remove previous <ul>
|
|
397
|
+
if (this.__ul) {
|
|
398
|
+
this.__ul.remove();
|
|
399
|
+
}
|
|
400
|
+
// Append new <ul>
|
|
401
|
+
this.__ul = ul;
|
|
402
|
+
this.__options.appendChild(ul);
|
|
403
|
+
// Fetch
|
|
404
|
+
await this.fetch();
|
|
405
|
+
}
|
|
406
|
+
async fetch(fetchSize) {
|
|
407
|
+
const ul = this.__ul;
|
|
408
|
+
const _fetchSize = fetchSize || 25;
|
|
409
|
+
if (this._loading) {
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
this._loading = true;
|
|
413
|
+
try {
|
|
414
|
+
// Remove more button
|
|
415
|
+
const more = ul.querySelector("button");
|
|
416
|
+
if (more) {
|
|
417
|
+
more.remove();
|
|
418
|
+
}
|
|
419
|
+
let done = false;
|
|
420
|
+
for (let index = 0; index < _fetchSize; index++) {
|
|
421
|
+
// TODO Em alguns casos o iterator chegou null aqui (ao segurar uma tecla apertada)
|
|
422
|
+
const next = await this._iterator.next();
|
|
423
|
+
if (next.done) {
|
|
424
|
+
done = true;
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
const li = ul.appendChild(document.createElement("li"));
|
|
428
|
+
li.innerHTML = this._highlight(this.getString(next.value) ?? "", this._text);
|
|
429
|
+
// Set value on click
|
|
430
|
+
li.addEventListener("click", () => {
|
|
431
|
+
if (this.hasAttribute("multiple")) {
|
|
432
|
+
this._setValues([...this._values, next.value]);
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
this._setValues([next.value]);
|
|
436
|
+
}
|
|
437
|
+
this.close();
|
|
438
|
+
this.__input.focus();
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
// Reinsert more button if needed
|
|
442
|
+
if (!done && more) {
|
|
443
|
+
ul.appendChild(more);
|
|
444
|
+
ControlHideAndSeek.whenVisible(more).then(() => {
|
|
445
|
+
this.fetch();
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
finally {
|
|
450
|
+
this._loading = false;
|
|
451
|
+
}
|
|
452
|
+
// // Close when no elements found
|
|
453
|
+
// if (done && ul.childElementCount === 0) {
|
|
454
|
+
// this.close();
|
|
455
|
+
// }
|
|
456
|
+
}
|
|
457
|
+
focus() {
|
|
458
|
+
this.__input.focus();
|
|
459
|
+
}
|
|
460
|
+
textValues() {
|
|
461
|
+
return this._textValues;
|
|
462
|
+
}
|
|
463
|
+
_highlight(s, pattern) {
|
|
464
|
+
return s;
|
|
465
|
+
// // replace occurences of value (case insensitive)
|
|
466
|
+
// let _s = s;
|
|
467
|
+
// // Null or empty string
|
|
468
|
+
// if (!pattern) {
|
|
469
|
+
// return _s;
|
|
470
|
+
// }
|
|
471
|
+
// // Ignore html
|
|
472
|
+
// if (_s.trim().startsWith("<")) {
|
|
473
|
+
// return _s;
|
|
474
|
+
// }
|
|
475
|
+
// const index = [];
|
|
476
|
+
// const substr = [];
|
|
477
|
+
// const regexp = new RegExp(pattern, "gi");
|
|
478
|
+
// for (; ;) {
|
|
479
|
+
// const matcher = regexp.exec(_s);
|
|
480
|
+
// if (!matcher) {
|
|
481
|
+
// break;
|
|
482
|
+
// }
|
|
483
|
+
// index.push(matcher.index);
|
|
484
|
+
// substr.push(matcher[0]);
|
|
485
|
+
// }
|
|
486
|
+
// for (let i = index.length - 1; i > -1; i--) {
|
|
487
|
+
// _s = `${_s.substr(0, index[i])}<mark>${substr[i]}</mark>${_s.substr(
|
|
488
|
+
// index[i] + substr[i].length,
|
|
489
|
+
// )}`;
|
|
490
|
+
// }
|
|
491
|
+
// return _s;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
//# sourceMappingURL=ControlSelectAbstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlSelectAbstract.js","sourceRoot":"","sources":["../../../src/components/ControlSelectAbstract.ts"],"names":[],"mappings":"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"}
|