name: installPackageFromUrl
label: 手动安装软件包
'on': list
#TODO: ${'steedos_packages.install.initialization_failure' | t} ,${'steedos_packages.install.installation_success' | t}，${'steedos_packages.install.installation_failure' | t}，等待amis合并分支，可用该代码,用于form组件的message属性
amis_schema: |-
  {
      "type": "service",
      "body": [
          {
              "type": "button",
              "label": "${'steedos_packages.install.install_package_from_url' | t}",
              "id": "u:install_package_from_url",
              "onEvent": {
                  "click": {
                      "actions": [
                          {
                              "actionType": "dialog",
                              "dialog": {
                                  "type": "dialog",
                                  "title": "${'steedos_packages.install.install_package_from_url' | t}",
                                  "data": {
                                    "registryOptions": [
                                        {
                                            "label": "${'steedos_packages_button_installPackageFromUrl_dialog_field_registry_option_taobao' | t}",
                                            "value": "https://registry.npmmirror.com"
                                        },
                                        {
                                            "label": "${'steedos_packages_button_installPackageFromUrl_dialog_field_registry_option_cnpm' | t}",
                                            "value": "https://r.cnpmjs.org"
                                        },
                                        {
                                            "label": "${'steedos_packages_button_installPackageFromUrl_dialog_field_registry_option_npmjs' | t}",
                                            "value": "https://registry.npmjs.org"
                                        }
                                    ]
                                  },
                                  "body": [
                                      {
                                          "type": "form",
                                          "id": "u:add9d810b386",
                                          "title": "",
                                          "body": [
                                              {
                                                  "label": "${'steedos_packages.install.package_name' | t}",
                                                  "type": "input-text",
                                                  "name": "package",
                                                  "id": "u:524cb8f8d888",
                                                  "required": true
                                              },
                                              {
                                                  "label": "${'steedos_packages_button_installPackageFromUrl_dialog_field_registry' | t}",
                                                  "type": "input-text",
                                                  "name": "registry",
                                                  "id": "u:524cb8f8d666",
                                                  "required": false,
                                                  "source": "${registryOptions}"
                                              }
                                          ],
                                          "mode": "normal",
                                          "api": {
                                              "method": "post",
                                              "url": "${context.rootUrl}/api/nodes/package/add",
                                              "data": {
                                                  "&": "$$"
                                              },
                                              "dataType": "json",
                                              "requestAdaptor": "api.data = {package: api.body.registry ? `${api.body.package} --registry ${api.body.registry}` : api.body.package};",
                                              "headers": {
                                                  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
                                              }
                                          },
                                          "messages": {
                                              "fetchFailed": "Initialization failed",
                                              "saveSuccess": "Installation successful", 
                                              "saveFailed": "Installation failed" 
                                          },
                                          "onEvent": {
                                            "submitSucc": {
                                                "weight": 0,
                                                "actions": [
                                                    {
                                                        "actionType": "wait",
                                                        "args": {
                                                            "time": 3000
                                                        }
                                                    },
                                                    {
                                                        "actionType": "broadcast",
                                                        "args": {
                                                            "eventName": "@data.changed.steedos_packages"
                                                        },
                                                        "data": {
                                                            "objectName": "steedos_packages",
                                                            "recordId": "install"
                                                        }
                                                    }
                                                ]
                                            }
                                            }
                                      },
                                      {
                                        "type": "tpl",
                                        "tpl": "<br/>"
                                      },
                                      {
                                        "type": "markdown",
                                        "value": "${'steedos_packages_button_installPackageFromUrl_dialog_describe1' | t}"
                                        },
                                        {
                                        "type": "markdown",
                                        "value": "${'steedos_packages_button_installPackageFromUrl_dialog_describe2' | t}"
                                        }
                                  ],
                                  "id": "u:efa30bace722",
                                  "closeOnEsc": true,
                                  "closeOnOutside": false,
                                  "showCloseButton": true,
                                  "size": "lg"
                              }
                          }
                      ],
                      "weight": 0
                  }
              }
          }
      ],
      "regions": [
          "body"
      ],
      "data": {
         
      },
      "bodyClassName": "p-0",
      "id": "u:43363bc48c62"
  }
is_enable: true
type: amis_button
visible: true