{"id":15820969,"url":"https://github.com/techins-software/jsutils","last_synced_at":"2026-02-17T16:35:54.158Z","repository":{"id":227611845,"uuid":"771563204","full_name":"TechIns-Software/jsUtils","owner":"TechIns-Software","description":"Common Js functions used upon our projects.","archived":false,"fork":false,"pushed_at":"2024-10-16T07:43:15.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-01T22:11:27.026Z","etag":null,"topics":["bootstrap5","javascrip","library"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TechIns-Software.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-13T14:27:35.000Z","updated_at":"2024-10-16T07:42:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e5dc3de-f62f-4344-bc7d-3ef1be2eb2ae","html_url":"https://github.com/TechIns-Software/jsUtils","commit_stats":{"total_commits":137,"total_committers":1,"mean_commits":137.0,"dds":0.0,"last_synced_commit":"50ac4ddbf70bcbaa151e34d793a4077f2aafc0c3"},"previous_names":["techins-software/jsutils"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/TechIns-Software/jsUtils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechIns-Software%2FjsUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechIns-Software%2FjsUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechIns-Software%2FjsUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechIns-Software%2FjsUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TechIns-Software","download_url":"https://codeload.github.com/TechIns-Software/jsUtils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechIns-Software%2FjsUtils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279012678,"owners_count":26085159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap5","javascrip","library"],"created_at":"2024-10-05T07:08:54.035Z","updated_at":"2025-10-12T19:53:39.032Z","avatar_url":"https://github.com/TechIns-Software.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JS Utility functions\nMiscelanous utility functions used upon our projects. Read comments upon each js located in `src` in order to get each functionality.\n\n## Requirements\nLibrary uses Bootstrap 5.3 and Jquery 3.7 and is intended for frontend projects using these libraries.\n\n## Install the package in your project\n\n```\nnpm i --save @techins/jsutils\n```\n\n## Use it\n\nJust import any nerssesary file via doing:\n\n```\nimport {*} from \"@techins/jsutils/utils\";\nimport {*} from \"@techins/jsutils/clipboard\";\nimport {*} from \"@techins/jsutils/url\";\nimport {*} from \"@techins/jsutils/input-error\";\nimport {*} from \"@techins/jsutils/visibility\";\n```\n\nYou can speficy each specific function for a specific module. Each module is a seperate file in `./src` folder of this current repository where you can consult it for more info about it. The library has been tested using [vite](https://vitejs.dev/).\n\n# Utility Modules\n\n## @techins/jsutils/utils\n\nMiscelanout utilities\n\n## @techins/jsutils/clipboard\n\nClipboard managed utilities\n\n## @techins/jsutils/url\n\nUtilities for browser url management\n\n## @techins/jsutils/input-error\n\nUtilities for managing the bootstrap's input error (Message shown uindernetath input)\n\n\n## @techins/jsutils/visibility\n\nUtilities for managing the element's visibility upon DOM\n\n\n## @techins/jsutils/searchForm\n\nVariosu search form Implementations look into `./src/searchForm.js` that each class is throughfully documented with usecase examples.\n\n## @techins/jsutils/modal\n\nThis file contains a single function named `submitFormUponModalUsingAjax` that one bootstraps the submission of a form that resides inside a modal for example:\n\n```\n\n\u003cbutton role=\"button\" onclick=\"showmodal(this)\"\u003eShow Modal\u003c/button\u003e\n\n\u003cdiv class=\"modal fade\" id=\"someId\" tabindex=\"-1\" aria-labelledby=\"myModal\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"modal-dialog\"\u003e\n        \u003cdiv class=\"modal-content\"\u003e\n            \u003cdiv class=\"modal-header\"\u003e\n                \u003ch1 class=\"modal-title fs-5\"\u003eModal With a form\u003c/h1\u003e\n                \u003cbutton type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\u003e\u003c/button\u003e\n            \u003c/div\u003e\n            \u003cform method=\"POST\" action=\"#\"\u003e\n                \u003cdiv class=\"modal-body\"\u003e\n                    \u003cdiv class=\"mb-3\"\u003e\n                        \u003clabel for=\"name\" class=\"col-form-label\"\u003eName:\u003c/label\u003e\n                        \u003cinput type=\"text\" class=\"form-control\" name=\"name\" id=\"name\" required\u003e\n                    \u003c/div\u003e\n                    \u003c!--- Extra Inputs here --\u003e\n                \u003c/div\u003e\n                \u003cdiv class=\"modal-footer\"\u003e\n                    \u003cbutton type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\"\u003eClose\u003c/button\u003e\n                    \u003cbutton type=\"submit\" class=\"btn btn-success\"\u003eSave\u003c/button\u003e\n                \u003c/div\u003e\n            \u003c/form\u003e\n        \u003c/div\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n```\n\n```\nimport {submitFormUponModalUsingAjax} from \"@techins/jsutils/modal\"\n\n\nconst callbacks = {\n  'submitSuccessCallback':(form,data,modal)=\u003e{\n      // Upon Success DO stuff\n   },\n   'ajaxFailureCallback':(ajaxCalled,is400,responseJson,xhr)=\u003e{\n        if(ajaxCalled \u0026\u0026 is400){\n        // The form has been submitted upon server and error 400 is retuend\n        }\n\n        if(ajaxCalled){\n        // The form has been submitted upon server and error is returned but not witth 400 Http Status\n        }\n\n        // responseJson is the ajax Response\n    }\n}\n\nlet modal=null\n\nfunction showmodal(button){\n    if(!modal){\n        modal = new AjaxModal(\"#someId\", callbacks);\n    }\n\n    modal.show(button)\n}\n\n```\n\nRegarding the callbacks and full arghuments look upon src/modal.js in this project.\n\n## @techins/jsutils/scrollTable\n\nAn Infinite Scrolling table. More info at `src/scrollTable.js` file in this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechins-software%2Fjsutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechins-software%2Fjsutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechins-software%2Fjsutils/lists"}