1fb726d48Sopenharmony_ci/*
2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd.
3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License.
5fb726d48Sopenharmony_ci * You may obtain a copy of the License at
6fb726d48Sopenharmony_ci *
7fb726d48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8fb726d48Sopenharmony_ci *
9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and
13fb726d48Sopenharmony_ci * limitations under the License.
14fb726d48Sopenharmony_ci */
15fb726d48Sopenharmony_ci
16fb726d48Sopenharmony_ciimport { ffrtEnumList } from './utils/PluginConvertUtils';
17fb726d48Sopenharmony_ci
18fb726d48Sopenharmony_ciexport const SpFFRTConfigHtml = `
19fb726d48Sopenharmony_ci<style>
20fb726d48Sopenharmony_ci:host{
21fb726d48Sopenharmony_ci  display: block;
22fb726d48Sopenharmony_ci  width: 100%;
23fb726d48Sopenharmony_ci  border-radius: 0 16px 16px 0;
24fb726d48Sopenharmony_ci  height: 100%;
25fb726d48Sopenharmony_ci}
26fb726d48Sopenharmony_ci.root {
27fb726d48Sopenharmony_ci  padding-top: 30px;
28fb726d48Sopenharmony_ci  padding-left: 54px;
29fb726d48Sopenharmony_ci  display: grid;
30fb726d48Sopenharmony_ci  grid-template-columns: 1fr;
31fb726d48Sopenharmony_ci  grid-template-rows: min-content 1fr min-content;
32fb726d48Sopenharmony_ci  width: 81%;
33fb726d48Sopenharmony_ci  border-radius: 0 16px 16px 0;
34fb726d48Sopenharmony_ci  margin-bottom: 30px;
35fb726d48Sopenharmony_ci  margin-right: 30px;
36fb726d48Sopenharmony_ci}
37fb726d48Sopenharmony_ci.input-select-item-content{
38fb726d48Sopenharmony_ci  display: flex;
39fb726d48Sopenharmony_ci  flex-direction: column;
40fb726d48Sopenharmony_ci  grid-gap: 15px;
41fb726d48Sopenharmony_ci  margin-top: 40px;
42fb726d48Sopenharmony_ci  grid-column: 1 / 3;
43fb726d48Sopenharmony_ci  width: 100%;
44fb726d48Sopenharmony_ci}
45fb726d48Sopenharmony_ci
46fb726d48Sopenharmony_ci.switch-item-content{
47fb726d48Sopenharmony_ci  margin-top: 40px;
48fb726d48Sopenharmony_ci  width: 92%;
49fb726d48Sopenharmony_ci}
50fb726d48Sopenharmony_ciinput {
51fb726d48Sopenharmony_ci  width: 72%;
52fb726d48Sopenharmony_ci  height: 25px;
53fb726d48Sopenharmony_ci  border:0;
54fb726d48Sopenharmony_ci  outline:none;
55fb726d48Sopenharmony_ci  border-radius: 16px;
56fb726d48Sopenharmony_ci  text-indent:2%
57fb726d48Sopenharmony_ci}
58fb726d48Sopenharmony_ciinput::-webkit-input-placeholder{
59fb726d48Sopenharmony_ci  color:var(--bark-prompt,#999999);
60fb726d48Sopenharmony_ci}
61fb726d48Sopenharmony_ci
62fb726d48Sopenharmony_ciinput::-webkit-input-placeholder{
63fb726d48Sopenharmony_ci  background: var(--dark-background5,#FFFFFF);
64fb726d48Sopenharmony_ci}
65fb726d48Sopenharmony_ci.item-title {
66fb726d48Sopenharmony_ci  font-family: Helvetica,serif;
67fb726d48Sopenharmony_ci  text-align: left;
68fb726d48Sopenharmony_ci  line-height: 40px;
69fb726d48Sopenharmony_ci  font-weight: 700;
70fb726d48Sopenharmony_ci  margin-right: 10px;
71fb726d48Sopenharmony_ci  opacity: 0.9;
72fb726d48Sopenharmony_ci  font-size: 18px;
73fb726d48Sopenharmony_ci}
74fb726d48Sopenharmony_ciinput:disabled {
75fb726d48Sopenharmony_ci  cursor: no-drop;
76fb726d48Sopenharmony_ci}
77fb726d48Sopenharmony_ci.title {
78fb726d48Sopenharmony_ci  grid-column: span 2 / auto;
79fb726d48Sopenharmony_ci  margin-top: 5vh;
80fb726d48Sopenharmony_ci}
81fb726d48Sopenharmony_ci#switch-disabled, .lts {
82fb726d48Sopenharmony_ci  display: inline;
83fb726d48Sopenharmony_ci  float: right;
84fb726d48Sopenharmony_ci}
85fb726d48Sopenharmony_ci.processSelect {
86fb726d48Sopenharmony_ci  border-radius: 15px;
87fb726d48Sopenharmony_ci  width: 92%;
88fb726d48Sopenharmony_ci  height: 27px;
89fb726d48Sopenharmony_ci}
90fb726d48Sopenharmony_ci.input-item-content {
91fb726d48Sopenharmony_ci  flex-wrap: wrap;
92fb726d48Sopenharmony_ci  display: flex;
93fb726d48Sopenharmony_ci  flex-direction: row;
94fb726d48Sopenharmony_ci  align-items: center;
95fb726d48Sopenharmony_ci  width: 92%;
96fb726d48Sopenharmony_ci  grid-column: 1 / 3;
97fb726d48Sopenharmony_ci  margin-top: 40px;
98fb726d48Sopenharmony_ci}
99fb726d48Sopenharmony_ci.clock-type-select {
100fb726d48Sopenharmony_ci  border-radius: 15px;
101fb726d48Sopenharmony_ci  width: 50%;
102fb726d48Sopenharmony_ci}
103fb726d48Sopenharmony_ci.clock-item-content {
104fb726d48Sopenharmony_ci  flex-wrap: wrap;
105fb726d48Sopenharmony_ci  display: flex;
106fb726d48Sopenharmony_ci  flex-direction: row;
107fb726d48Sopenharmony_ci  align-items: center;
108fb726d48Sopenharmony_ci  margin-top: 40px;
109fb726d48Sopenharmony_ci  width: 92%;
110fb726d48Sopenharmony_ci  grid-column: 1 / 3;
111fb726d48Sopenharmony_ci}
112fb726d48Sopenharmony_ci.item-description {
113fb726d48Sopenharmony_ci  opacity: 0.6;
114fb726d48Sopenharmony_ci  font-family: Helvetica;
115fb726d48Sopenharmony_ci  line-height: 35px;
116fb726d48Sopenharmony_ci  text-align: left;
117fb726d48Sopenharmony_ci  font-weight: 400;
118fb726d48Sopenharmony_ci  font-size: 14px;
119fb726d48Sopenharmony_ci}
120fb726d48Sopenharmony_ci.input-content{
121fb726d48Sopenharmony_ci  background: var(--dark-background5,#FFFFFF);
122fb726d48Sopenharmony_ci  border: 1px solid var(--dark-background5,#ccc);
123fb726d48Sopenharmony_ci  font-family: Helvetica;
124fb726d48Sopenharmony_ci  font-size: 14px;
125fb726d48Sopenharmony_ci  color: var(--dark-color1,#212121);
126fb726d48Sopenharmony_ci  text-align: left;
127fb726d48Sopenharmony_ci  line-height: 16px;
128fb726d48Sopenharmony_ci  font-weight: 400;
129fb726d48Sopenharmony_ci}
130fb726d48Sopenharmony_ci
131fb726d48Sopenharmony_ciinput::-webkit-input-placeholder{
132fb726d48Sopenharmony_ci  background: var(--dark-background5,#FFFFFF);
133fb726d48Sopenharmony_ci}
134fb726d48Sopenharmony_ci
135fb726d48Sopenharmony_ci:host([startSamp]) .input-content {
136fb726d48Sopenharmony_ci  background: var(--dark-background5,#FFFFFF);
137fb726d48Sopenharmony_ci}
138fb726d48Sopenharmony_ci
139fb726d48Sopenharmony_ci:host(:not([startSamp])) .input-content {
140fb726d48Sopenharmony_ci  color: #b7b7b7;
141fb726d48Sopenharmony_ci  background: var(--dark-background1,#f5f5f5);
142fb726d48Sopenharmony_ci}
143fb726d48Sopenharmony_ci
144fb726d48Sopenharmony_ci</style>
145fb726d48Sopenharmony_ci<div class="root">
146fb726d48Sopenharmony_ci  <div class="title" style="width: 92%;">
147fb726d48Sopenharmony_ci    <span class="item-title">Start FFRT Record</span>
148fb726d48Sopenharmony_ci    <lit-switch id="switch-disabled"></lit-switch>
149fb726d48Sopenharmony_ci  </div>
150fb726d48Sopenharmony_ci  <!-- process id -->
151fb726d48Sopenharmony_ci  <div class="input-select-item-content" id="process-div" style="grid-column: 1 / 3;">
152fb726d48Sopenharmony_ci    <div>
153fb726d48Sopenharmony_ci      <span class="item-title">Process</span>
154fb726d48Sopenharmony_ci      <span class="item-description">Record process id</span>
155fb726d48Sopenharmony_ci    </div>
156fb726d48Sopenharmony_ci    <lit-select-v class="processSelect" id="process-ids" rounded mode="multiple" default-value="" id="pid"
157fb726d48Sopenharmony_ci    placement="bottom" title="process" placeholder="please select process id">
158fb726d48Sopenharmony_ci    </lit-select-v>
159fb726d48Sopenharmony_ci  </div>
160fb726d48Sopenharmony_ci  <!-- Startup Process -->
161fb726d48Sopenharmony_ci  <div class="input-select-item-content" id="startup-process-div" style="grid-column: 1 / 3;">
162fb726d48Sopenharmony_ci    <div>
163fb726d48Sopenharmony_ci      <span class="item-title">Startup Process</span>
164fb726d48Sopenharmony_ci      <span class="item-description">Record startup package name</span>
165fb726d48Sopenharmony_ci    </div>
166fb726d48Sopenharmony_ci    <lit-select-v default-value="" rounded="" class="processSelect" canInsert="" id="startup-process-names"
167fb726d48Sopenharmony_ci    title="package" rounded placement = "bottom" placeholder="please select package name" showSearchInput>
168fb726d48Sopenharmony_ci    </lit-select-v>
169fb726d48Sopenharmony_ci  </div>
170fb726d48Sopenharmony_ci  <!-- Restart Process -->
171fb726d48Sopenharmony_ci  <div class="input-select-item-content" id="restart-process-div" style="grid-column: 1 / 3;">
172fb726d48Sopenharmony_ci    <div>
173fb726d48Sopenharmony_ci      <span class="item-title">Restart Process</span>
174fb726d48Sopenharmony_ci      <span class="item-description">Record restart process name</span>
175fb726d48Sopenharmony_ci    </div>
176fb726d48Sopenharmony_ci    <lit-select-v class="processSelect" id="restart-process-names" rounded mode="multiple" default-value="" id="pid"
177fb726d48Sopenharmony_ci    placement="bottom" title="process" placeholder="please select restart process name">
178fb726d48Sopenharmony_ci    </lit-select-v>
179fb726d48Sopenharmony_ci  </div>
180fb726d48Sopenharmony_ci  <!-- Use block -->
181fb726d48Sopenharmony_ci  <div class="switch-item-content" id="block-div" style="align-items: center;grid-column: 1 / 3;">
182fb726d48Sopenharmony_ci    <span class="item-title">Use Block</span>
183fb726d48Sopenharmony_ci    <lit-switch class="lts" id="use_block_switch" title="block model" checked="true"></lit-switch>
184fb726d48Sopenharmony_ci  </div>
185fb726d48Sopenharmony_ci  <!-- Smb Pages -->
186fb726d48Sopenharmony_ci  <div class="input-item-content" id="smb-pages-div">
187fb726d48Sopenharmony_ci    <span class="item-title">Smb Pages Size</span>
188fb726d48Sopenharmony_ci    <span class="item-description" style="margin-right: auto;">Range is 0 - 131072, default 16384 page (One page equals 4 KB)</span>
189fb726d48Sopenharmony_ci    <input id = "smb-pages" style="width: auto;" class="input-content" type="text"
190fb726d48Sopenharmony_ci      placeholder="Enter the Smb Pages Size" 
191fb726d48Sopenharmony_ci      oninput="if(this.value > 131072){this.value = '131072'} if(this.value > 0 &&
192fb726d48Sopenharmony_ci      this.value.toString().startsWith('0')){ this.value = Number(this.value) }"
193fb726d48Sopenharmony_ci      onkeyup="this.value=this.value.replace(/\\D/g,'')" value="16384">
194fb726d48Sopenharmony_ci  </div>
195fb726d48Sopenharmony_ci  <!-- Flush Interval -->
196fb726d48Sopenharmony_ci  <div class="input-item-content" id="flush-interval-div">
197fb726d48Sopenharmony_ci    <span class="item-title" >flush interval</span>
198fb726d48Sopenharmony_ci    <span class="item-description" style="margin-right: auto;">Rang is 0 - 20, default 5</span>
199fb726d48Sopenharmony_ci    <input id= "flush-interval" style="width: auto;" class="input-content" type="text"
200fb726d48Sopenharmony_ci    placeholder="Enter the flush interval" 
201fb726d48Sopenharmony_ci    oninput="if(this.value > 20){this.value = '20'} if(this.value > 0 && 
202fb726d48Sopenharmony_ci    this.value.toString().startsWith('0')){ this.value = Number(this.value) }"
203fb726d48Sopenharmony_ci    onkeyup="this.value=this.value.replace(/\\D/g,'')" value="5">
204fb726d48Sopenharmony_ci  </div>
205fb726d48Sopenharmony_ci  <!-- Clock Id -->
206fb726d48Sopenharmony_ci  <div class="clock-item-content">
207fb726d48Sopenharmony_ci    <div style="margin-right: auto;">
208fb726d48Sopenharmony_ci      <span class="item-title">Clock Id</span>
209fb726d48Sopenharmony_ci      <span class="item-description">Record clock type id</span>
210fb726d48Sopenharmony_ci    </div>
211fb726d48Sopenharmony_ci    <lit-select default-value="" rounded="" id="clock-type" class="clock-type-select" canInsert="" 
212fb726d48Sopenharmony_ci    title="Select Clock Id" rounded placement = "top" placeholder="BOOTTIME">
213fb726d48Sopenharmony_ci      ${ffrtEnumList.map((clockId): string => `<lit-select-option class="div-button" 
214fb726d48Sopenharmony_ci      value="${clockId}">${clockId}</lit-select-option>`).join('')}
215fb726d48Sopenharmony_ci    </lit-select>
216fb726d48Sopenharmony_ci  </div>
217fb726d48Sopenharmony_ci</div>
218fb726d48Sopenharmony_ci`;
219fb726d48Sopenharmony_ci
220