{"id":25346430,"url":"https://github.com/m1kc3b/gas-gist","last_synced_at":"2025-04-08T17:20:40.233Z","repository":{"id":138283265,"uuid":"547356591","full_name":"m1kc3b/gas-gist","owner":"m1kc3b","description":"Une étagère de script prêt à l'emploi","archived":false,"fork":false,"pushed_at":"2022-10-07T15:14:33.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-14T13:42:00.524Z","etag":null,"topics":["appsscript","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m1kc3b.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2022-10-07T14:47:40.000Z","updated_at":"2022-10-07T14:55:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"769cfb37-d73e-41f1-802b-d271d2b9b2d2","html_url":"https://github.com/m1kc3b/gas-gist","commit_stats":null,"previous_names":["m1kc3b/gas-gist"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc3b%2Fgas-gist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc3b%2Fgas-gist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc3b%2Fgas-gist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc3b%2Fgas-gist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m1kc3b","download_url":"https://codeload.github.com/m1kc3b/gas-gist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247888567,"owners_count":21013002,"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","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":["appsscript","javascript"],"created_at":"2025-02-14T13:36:17.021Z","updated_at":"2025-04-08T17:20:40.212Z","avatar_url":"https://github.com/m1kc3b.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GAS Gist\n\n1. [Importer CSV](./src/import-csv.js) 📝\nCette fonction permet d'importer un fichier CSV et de le convertir en un tableau à 2 dimensions (un String[][]).\nL'idéal, serait de créer une fonction qui appel celle-ci où tous les cas seront gérés.\nExemple : \n```\nfunction callImportCsv() {\n  try {\n    const ui = SpreadsheetApp.getUi()\n\n    const fileId = ui.prompt(\"ID du csv à importer\").getResponseText()\n    let delimiter\n    let data\n\n    if (fileId) {\n      delimiter = ui.prompt(\"Le délimiteur\").getResponseText()\n    } else {\n      ui.alert(\"Vous n'avez pas renseigner l'ID !!!\")\n    }\n\n    if (fileId \u0026\u0026 delimiter) {\n      data = importCsv(fileId, delimiter)\n    }\n\n    if (typeof data === \"string\") {\n      ui.alert(data)\n    } else {\n      const sheet = SpreadsheetApp.getActive().getSheetByName(\"Feuille 1\")\n      sheet.clear()\n\n      for (const row of data) {\n        sheet.appendRow(row)\n      }\n    }\n  }catch (e) {\n    console.error(\"ERROR: \"+e.message)\n  }\n}\n```\n2. [L'usine à formulaire](./src/form-factory.js) 🏭\nPour les besoins d'un projet, j'ai voulu développer une fonction qui crée dynamiquement un formulaire en lui passant un tableau à 2 dimensions.\nJ'avais besoin de créer un menu et des sous-sections de façon dynamique. Il ne manque que la création des items dans chaque section mais je crois que vous y arriverez tout seul 😜","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1kc3b%2Fgas-gist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm1kc3b%2Fgas-gist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1kc3b%2Fgas-gist/lists"}