feat: add more columns and icons to dataset listview (#10043)
|
|
@ -22,6 +22,6 @@
|
|||
<desc>Created with Sketch.</desc>
|
||||
<g id="Icon-/-X-Small" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<polygon id="Shape" points="0 0 24 0 24 24 0 24"></polygon>
|
||||
<path d="M15.71,8.29 C15.5222334,8.10068735 15.2666375,7.99420168 15,7.99420168 C14.7333625,7.99420168 14.4777666,8.10068735 14.29,8.29 L12,10.59 L9.71,8.29 C9.31787782,7.89787785 8.68212219,7.89787787 8.29000003,8.29000003 C7.89787787,8.68212219 7.89787785,9.31787782 8.29,9.71 L10.59,12 L8.29,14.29 C8.10068735,14.4777666 7.99420168,14.7333625 7.99420168,15 C7.99420168,15.2666375 8.10068735,15.5222334 8.29,15.71 C8.4777666,15.8993127 8.73336246,16.0057983 9,16.0057983 C9.26663754,16.0057983 9.5222334,15.8993127 9.71,15.71 L12,13.41 L14.29,15.71 C14.4777666,15.8993127 14.7333625,16.0057983 15,16.0057983 C15.2666375,16.0057983 15.5222334,15.8993127 15.71,15.71 C15.8993127,15.5222334 16.0057983,15.2666375 16.0057983,15 C16.0057983,14.7333625 15.8993127,14.4777666 15.71,14.29 L13.41,12 L15.71,9.71 C15.8993127,9.5222334 16.0057983,9.26663754 16.0057983,9 C16.0057983,8.73336246 15.8993127,8.4777666 15.71,8.29 Z" id="Path" fill="#666666"></path>
|
||||
<path d="M15.71,8.29 C15.5222334,8.10068735 15.2666375,7.99420168 15,7.99420168 C14.7333625,7.99420168 14.4777666,8.10068735 14.29,8.29 L12,10.59 L9.71,8.29 C9.31787782,7.89787785 8.68212219,7.89787787 8.29000003,8.29000003 C7.89787787,8.68212219 7.89787785,9.31787782 8.29,9.71 L10.59,12 L8.29,14.29 C8.10068735,14.4777666 7.99420168,14.7333625 7.99420168,15 C7.99420168,15.2666375 8.10068735,15.5222334 8.29,15.71 C8.4777666,15.8993127 8.73336246,16.0057983 9,16.0057983 C9.26663754,16.0057983 9.5222334,15.8993127 9.71,15.71 L12,13.41 L14.29,15.71 C14.4777666,15.8993127 14.7333625,16.0057983 15,16.0057983 C15.2666375,16.0057983 15.5222334,15.8993127 15.71,15.71 C15.8993127,15.5222334 16.0057983,15.2666375 16.0057983,15 C16.0057983,14.7333625 15.8993127,14.4777666 15.71,14.29 L13.41,12 L15.71,9.71 C15.8993127,9.5222334 16.0057983,9.26663754 16.0057983,9 C16.0057983,8.73336246 15.8993127,8.4777666 15.71,8.29 Z" id="Path" fill="currentColor"></path>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4" y="4.5" width="16" height="16" rx="2" fill="#20A7C9"/>
|
||||
<rect x="8" y="11.5" width="8" height="2" rx="0.5" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5C4.89543 4.5 4 5.39543 4 6.5V18.5C4 19.6046 4.89543 20.5 6 20.5H18C19.1046 20.5 20 19.6046 20 18.5V6.5C20 5.39543 19.1046 4.5 18 4.5H6ZM7 6.5C6.44772 6.5 6 6.94772 6 7.5V17.5C6 18.0523 6.44772 18.5 7 18.5H17C17.5523 18.5 18 18.0523 18 17.5V7.5C18 6.94772 17.5523 6.5 17 6.5H7Z" fill="#E0E0E0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4" y="4.5" width="16" height="16" rx="2" fill="#20A7C9"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.7201 9.29006L10.4301 13.5901L8.78008 11.9401C8.53569 11.6547 8.15196 11.5304 7.78666 11.6183C7.42136 11.7061 7.13614 11.9913 7.04827 12.3566C6.9604 12.7219 7.08471 13.1057 7.37008 13.3501L9.72008 15.7101C9.9088 15.8972 10.1643 16.0016 10.4301 16.0001C10.6924 15.999 10.9438 15.8948 11.1301 15.7101L16.1301 10.7101C16.3194 10.5223 16.4259 10.2667 16.4259 10.0001C16.4259 9.73342 16.3194 9.47783 16.1301 9.29006C15.74 8.90234 15.1101 8.90234 14.7201 9.29006Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.5C6.47715 2.5 2 6.97715 2 12.5C2 18.0228 6.47715 22.5 12 22.5C17.5228 22.5 22 18.0228 22 12.5C22 9.84784 20.9464 7.3043 19.0711 5.42893C17.1957 3.55357 14.6522 2.5 12 2.5ZM13 20.43V19.5C13 18.9477 12.5523 18.5 12 18.5C11.4477 18.5 11 18.9477 11 19.5V20.43C7.37981 19.9709 4.52909 17.1202 4.07 13.5H5C5.55228 13.5 6 13.0523 6 12.5C6 11.9477 5.55228 11.5 5 11.5H4.07C4.52909 7.87981 7.37981 5.02909 11 4.57V5.5C11 6.05228 11.4477 6.5 12 6.5C12.5523 6.5 13 6.05228 13 5.5V4.57C16.6202 5.02909 19.4709 7.87981 19.93 11.5H19C18.4477 11.5 18 11.9477 18 12.5C18 13.0523 18.4477 13.5 19 13.5H19.93C19.4709 17.1202 16.6202 19.9709 13 20.43Z" fill="currentColor"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.1399 10.1701L15.1399 8.05005C15.5147 7.89198 15.9479 7.97671 16.2356 8.26436C16.5232 8.552 16.608 8.98523 16.4499 9.36005L14.3299 14.3601C14.2289 14.5931 14.043 14.7791 13.8099 14.8801L8.80989 17.0001C8.68491 17.0594 8.54826 17.0902 8.40989 17.0901C8.14612 17.0863 7.89452 16.9785 7.70989 16.7901C7.42189 16.5006 7.33877 16.0652 7.49989 15.6901L9.61989 10.6901C9.72088 10.457 9.9068 10.271 10.1399 10.1701ZM10.3699 14.1501L12.6499 13.1501L13.6499 10.8701L11.3699 11.8701L10.3699 14.1501Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M21 2.5H3C2.44772 2.5 2 2.94772 2 3.5V21.5C2 22.0523 2.44772 22.5 3 22.5H21C21.5523 22.5 22 22.0523 22 21.5V3.5C22 2.94772 21.5523 2.5 21 2.5ZM8 20.5H4V16.5H8V20.5ZM8 14.5H4V10.5H8V14.5ZM8 8.5H4V4.5H8V8.5ZM14 20.5H10V16.5H14V20.5ZM14 14.5H10V10.5H14V14.5ZM14 8.5H10V4.5H14V8.5ZM20 20.5H16V16.5H20V20.5ZM20 14.5H16V10.5H20V14.5ZM20 8.5H16V4.5H20V8.5Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4" y="4.5" width="16" height="16" fill="#136478"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M21 2.5H3C2.44772 2.5 2 2.94772 2 3.5V21.5C2 22.0523 2.44772 22.5 3 22.5H21C21.5523 22.5 22 22.0523 22 21.5V3.5C22 2.94772 21.5523 2.5 21 2.5ZM8 20.5H4V16.5H8V20.5ZM8 14.5H4V10.5H8V14.5ZM8 8.5H4V4.5H8V8.5ZM14 20.5H10V16.5H14V20.5ZM14 14.5H10V10.5H14V14.5ZM14 8.5H10V4.5H14V8.5ZM20 20.5H16V16.5H20V20.5ZM20 14.5H16V10.5H20V14.5ZM20 8.5H16V4.5H20V8.5Z" fill="#A5DBE9"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 18.5058H9.24C9.5058 18.5073 9.76128 18.403 9.95 18.2158L16.87 11.2858L19.71 8.5058C19.8993 8.31803 20.0058 8.06244 20.0058 7.7958C20.0058 7.52916 19.8993 7.27356 19.71 7.0858L15.47 2.7958C15.2822 2.60649 15.0266 2.5 14.76 2.5C14.4934 2.5 14.2378 2.60649 14.05 2.7958L11.23 5.6258L4.29 12.5558C4.10281 12.7445 3.99846 13 4 13.2658V17.5058C4 18.0581 4.44772 18.5058 5 18.5058ZM14.76 4.9158L17.59 7.7458L16.17 9.1658L13.34 6.3358L14.76 4.9158ZM6 13.6758L11.93 7.7458L14.76 10.5758L8.83 16.5058H6V13.6758ZM21 20.5058H3C2.44772 20.5058 2 20.9535 2 21.5058C2 22.0581 2.44772 22.5058 3 22.5058H21C21.5523 22.5058 22 22.0581 22 21.5058C22 20.9535 21.5523 20.5058 21 20.5058Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
|
|
@ -22,7 +22,7 @@
|
|||
<desc>Created with Sketch.</desc>
|
||||
<g id="Icon-/-Search" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<polygon id="Path" points="0 0 24 0 24 24 0 24"></polygon>
|
||||
<g id="search-alt" transform="translate(4.000000, 4.000000)" fill="#666666">
|
||||
<g id="search-alt" transform="translate(4.000000, 4.000000)" fill="currentColor">
|
||||
<path d="M2.0502756,2.0502756 C4.64681622,-0.54626503 8.80843467,-0.6950204 11.5837364,1.70950589 C14.3590382,4.11403218 14.804545,8.25440896 12.6043062,11.1943062 L12.6043062,11.1943062 L12.584,11.214 L16.5643062,15.1943062 C16.7536188,15.3820728 16.8601045,15.6376686 16.8601045,15.9043062 C16.8601045,16.1709437 16.7536188,16.4265396 16.5643062,16.6143062 C16.3765396,16.8036188 16.1209437,16.9101045 15.8543062,16.9101045 C15.5876686,16.9101045 15.3320728,16.8036188 15.1443062,16.6143062 L11.1595821,12.6301298 C8.22188565,14.8010066 4.10458043,14.3481289 1.70950589,11.5837364 C-0.6950204,8.80843467 -0.54626503,4.64681622 2.0502756,2.0502756 Z M10.4943062,3.46430617 C8.54038301,1.5153163 5.37685647,1.5179821 3.42622078,3.47026222 C1.47558509,5.42254234 1.47558509,8.58607001 3.42622078,10.5383501 C5.37685647,12.4906302 8.54038301,12.493296 10.4943062,10.5443062 C11.4347232,9.60626354 11.963244,8.33257878 11.963244,7.00430616 C11.963244,5.67603357 11.4347232,4.4023488 10.4943062,3.46430617 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
|
@ -0,0 +1,24 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Group">
|
||||
<path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M10.4142 13C9.52331 13 9.07714 14.0771 9.70711 14.7071L11.2929 16.2929C11.6834 16.6834 12.3166 16.6834 12.7071 16.2929L14.2929 14.7071C14.9229 14.0771 14.4767 13 13.5858 13H10.4142Z" fill="#E0E0E0"/>
|
||||
<path id="Shape Copy" fill-rule="evenodd" clip-rule="evenodd" d="M10.4142 11C9.52331 11 9.07714 9.92286 9.70711 9.29289L11.2929 7.70711C11.6834 7.31658 12.3166 7.31658 12.7071 7.70711L14.2929 9.29289C14.9229 9.92286 14.4767 11 13.5858 11H10.4142Z" fill="currentColor"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,24 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Group">
|
||||
<path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M10.4142 13C9.52331 13 9.07714 14.0771 9.70711 14.7071L11.2929 16.2929C11.6834 16.6834 12.3166 16.6834 12.7071 16.2929L14.2929 14.7071C14.9229 14.0771 14.4767 13 13.5858 13H10.4142Z" fill="currentColor"/>
|
||||
<path id="Shape Copy" fill-rule="evenodd" clip-rule="evenodd" d="M10.4142 11C9.52331 11 9.07714 9.92286 9.70711 9.29289L11.2929 7.70711C11.6834 7.31658 12.3166 7.31658 12.7071 7.70711L14.2929 9.29289C14.9229 9.92286 14.4767 11 13.5858 11H10.4142Z" fill="#E0E0E0"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.70713 9.29299C9.07716 9.92295 9.52333 11.0001 10.4142 11.0001H13.5858C14.4767 11.0001 14.9229 9.92295 14.2929 9.29299L12.7071 7.7072C12.3166 7.31668 11.6834 7.31668 11.2929 7.7072L9.70713 9.29299ZM9.70713 14.7072C9.07716 14.0772 9.52333 13.0001 10.4142 13.0001H13.5858C14.4767 13.0001 14.9229 14.0772 14.2929 14.7072L12.7071 16.293C12.3166 16.6835 11.6834 16.6835 11.2929 16.293L9.70713 14.7072Z" fill="#E0E0E0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 18.5C10.5523 18.5 11 18.0523 11 17.5V11.5C11 10.9477 10.5523 10.5 10 10.5C9.44772 10.5 9 10.9477 9 11.5V17.5C9 18.0523 9.44772 18.5 10 18.5ZM20 6.5H16V5.5C16 3.84315 14.6569 2.5 13 2.5H11C9.34315 2.5 8 3.84315 8 5.5V6.5H4C3.44772 6.5 3 6.94772 3 7.5C3 8.05228 3.44772 8.5 4 8.5H5V19.5C5 21.1569 6.34315 22.5 8 22.5H16C17.6569 22.5 19 21.1569 19 19.5V8.5H20C20.5523 8.5 21 8.05228 21 7.5C21 6.94772 20.5523 6.5 20 6.5ZM10 5.5C10 4.94772 10.4477 4.5 11 4.5H13C13.5523 4.5 14 4.94772 14 5.5V6.5H10V5.5ZM17 19.5C17 20.0523 16.5523 20.5 16 20.5H8C7.44772 20.5 7 20.0523 7 19.5V8.5H17V19.5ZM14 18.5C14.5523 18.5 15 18.0523 15 17.5V11.5C15 10.9477 14.5523 10.5 14 10.5C13.4477 10.5 13 10.9477 13 11.5V17.5C13 18.0523 13.4477 18.5 14 18.5Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
|
@ -20,7 +20,8 @@ module.exports = {
|
|||
testRegex: '\\/spec\\/.*(_spec|\\.test)\\.(j|t)sx?$',
|
||||
moduleNameMapper: {
|
||||
'\\.(css|less)$': '<rootDir>/spec/__mocks__/styleMock.js',
|
||||
'\\.(gif|ttf|eot|svg)$': '<rootDir>/spec/__mocks__/fileMock.js',
|
||||
'\\.(gif|ttf|eot)$': '<rootDir>/spec/__mocks__/fileMock.js',
|
||||
'\\.svg$': '<rootDir>/spec/__mocks__/svgrMock.js',
|
||||
'^src/(.*)$': '<rootDir>/src/$1',
|
||||
},
|
||||
setupFilesAfterEnv: ['<rootDir>/spec/helpers/shim.js'],
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@
|
|||
"@emotion/babel-preset-css-prop": "^10.0.27",
|
||||
"@hot-loader/react-dom": "^16.13.0",
|
||||
"@istanbuljs/nyc-config-typescript": "^1.0.1",
|
||||
"@svgr/webpack": "^5.4.0",
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/dom-to-image": "^2.6.0",
|
||||
"@types/jest": "^25.1.4",
|
||||
|
|
@ -237,7 +238,7 @@
|
|||
"eslint-plugin-react": "^7.16.0",
|
||||
"exports-loader": "^0.7.0",
|
||||
"fetch-mock": "^7.0.0-alpha.6",
|
||||
"file-loader": "^1.1.11",
|
||||
"file-loader": "^6.0.0",
|
||||
"fork-ts-checker-webpack-plugin": "^0.4.9",
|
||||
"ignore-styles": "^5.0.1",
|
||||
"imports-loader": "^0.7.1",
|
||||
|
|
|
|||
|
|
@ -16,23 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React from 'react';
|
||||
import * as React from 'react';
|
||||
|
||||
const IndeterminateCheckbox = React.forwardRef(
|
||||
({ indeterminate, ...rest }, ref) => {
|
||||
const defaultRef = React.useRef();
|
||||
const resolvedRef = ref || defaultRef;
|
||||
|
||||
React.useEffect(() => {
|
||||
resolvedRef.current.indeterminate = indeterminate;
|
||||
}, [resolvedRef, indeterminate]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<input type="checkbox" ref={resolvedRef} {...rest} />
|
||||
</>
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
export default IndeterminateCheckbox;
|
||||
export default 'SvgrURL';
|
||||
export const ReactComponent = 'svg';
|
||||
|
|
@ -72,7 +72,9 @@ const mockedProps = {
|
|||
pageSize: 1,
|
||||
fetchData: jest.fn(() => []),
|
||||
loading: false,
|
||||
bulkActions: [{ name: 'do something', onSelect: jest.fn() }],
|
||||
bulkActions: [
|
||||
{ key: 'something', name: 'do something', onSelect: jest.fn() },
|
||||
],
|
||||
};
|
||||
|
||||
const factory = (props = mockedProps) =>
|
||||
|
|
@ -222,10 +224,9 @@ Array [
|
|||
|
||||
it('handles bulk actions on 1 row', () => {
|
||||
act(() => {
|
||||
wrapper
|
||||
.find('input[title="Toggle Row Selected"]')
|
||||
.at(0)
|
||||
.prop('onChange')({ target: { value: 'on' } });
|
||||
wrapper.find('input[id="0"]').at(0).prop('onChange')({
|
||||
target: { value: 'on' },
|
||||
});
|
||||
|
||||
wrapper
|
||||
.find('.dropdown-toggle')
|
||||
|
|
@ -253,10 +254,9 @@ Array [
|
|||
|
||||
it('handles bulk actions on all rows', () => {
|
||||
act(() => {
|
||||
wrapper
|
||||
.find('input[title="Toggle All Rows Selected"]')
|
||||
.at(0)
|
||||
.prop('onChange')({ target: { value: 'on' } });
|
||||
wrapper.find('input[id="header-toggle-all"]').at(0).prop('onChange')({
|
||||
target: { value: 'on' },
|
||||
});
|
||||
|
||||
wrapper
|
||||
.find('.dropdown-toggle')
|
||||
|
|
|
|||
|
|
@ -33,10 +33,12 @@ const store = mockStore({});
|
|||
|
||||
const datasetsInfoEndpoint = 'glob:*/api/v1/dataset/_info*';
|
||||
const datasetsOwnersEndpoint = 'glob:*/api/v1/dataset/related/owners*';
|
||||
const databaseEndpoint = 'glob:*/api/v1/dataset/related/database*';
|
||||
const datasetsEndpoint = 'glob:*/api/v1/dataset/?*';
|
||||
|
||||
const mockdatasets = [...new Array(3)].map((_, i) => ({
|
||||
changed_by_name: 'user',
|
||||
kind: ['physical', 'virtual'][Math.floor(Math.random() * 2)],
|
||||
changed_by_url: 'changed_by_url',
|
||||
changed_by: 'user',
|
||||
changed_on: new Date().toISOString(),
|
||||
|
|
@ -64,6 +66,9 @@ fetchMock.get(datasetsEndpoint, {
|
|||
result: mockdatasets,
|
||||
dataset_count: 3,
|
||||
});
|
||||
fetchMock.get(databaseEndpoint, {
|
||||
result: [],
|
||||
});
|
||||
|
||||
describe('DatasetList', () => {
|
||||
const mockedProps = {};
|
||||
|
|
@ -92,7 +97,7 @@ describe('DatasetList', () => {
|
|||
});
|
||||
|
||||
it('fetches data', () => {
|
||||
wrapper.update();
|
||||
// wrapper.update();
|
||||
const callsD = fetchMock.calls(/dataset\/\?q/);
|
||||
expect(callsD).toHaveLength(1);
|
||||
expect(callsD[0][0]).toMatchInlineSnapshot(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,76 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React, { SVGProps } from 'react';
|
||||
import styled from '@superset-ui/style';
|
||||
import { ReactComponent as CheckboxOnIcon } from 'images/icons/checkbox-on.svg';
|
||||
import { ReactComponent as CheckboxOffIcon } from 'images/icons/checkbox-off.svg';
|
||||
import { ReactComponent as CheckboxHalfIcon } from 'images/icons/checkbox-half.svg';
|
||||
import { ReactComponent as SortIcon } from 'images/icons/sort.svg';
|
||||
import { ReactComponent as SortDescIcon } from 'images/icons/sort-desc.svg';
|
||||
import { ReactComponent as SortAscIcon } from 'images/icons/sort-asc.svg';
|
||||
import { ReactComponent as TrashIcon } from 'images/icons/trash.svg';
|
||||
import { ReactComponent as PencilIcon } from 'images/icons/pencil.svg';
|
||||
import { ReactComponent as CompassIcon } from 'images/icons/compass.svg';
|
||||
import { ReactComponent as DatasetPhysicalIcon } from 'images/icons/dataset_physical.svg';
|
||||
import { ReactComponent as DatasetVirtualIcon } from 'images/icons/dataset_virtual.svg';
|
||||
import { ReactComponent as CancelXIcon } from 'images/icons/cancel-x.svg';
|
||||
import { ReactComponent as SearchIcon } from 'images/icons/search.svg';
|
||||
|
||||
type Icon =
|
||||
| 'cancel-x'
|
||||
| 'checkbox-half'
|
||||
| 'checkbox-off'
|
||||
| 'checkbox-on'
|
||||
| 'compass'
|
||||
| 'dataset-physical'
|
||||
| 'dataset-virtual'
|
||||
| 'pencil'
|
||||
| 'search'
|
||||
| 'sort-asc'
|
||||
| 'sort-desc'
|
||||
| 'sort'
|
||||
| 'trash';
|
||||
|
||||
const iconsRegistry: { [key in Icon]: React.ComponentType } = {
|
||||
'cancel-x': CancelXIcon,
|
||||
'checkbox-half': CheckboxHalfIcon,
|
||||
'checkbox-off': CheckboxOffIcon,
|
||||
'checkbox-on': CheckboxOnIcon,
|
||||
compass: CompassIcon,
|
||||
'dataset-physical': DatasetPhysicalIcon,
|
||||
'dataset-virtual': DatasetVirtualIcon,
|
||||
pencil: PencilIcon,
|
||||
search: SearchIcon,
|
||||
'sort-asc': SortAscIcon,
|
||||
'sort-desc': SortDescIcon,
|
||||
sort: SortIcon,
|
||||
trash: TrashIcon,
|
||||
};
|
||||
interface IconProps extends SVGProps<SVGSVGElement> {
|
||||
name: Icon;
|
||||
}
|
||||
|
||||
const Icon = ({ name, ...rest }: IconProps) => {
|
||||
const Component = iconsRegistry[name];
|
||||
return <Component {...rest} />;
|
||||
};
|
||||
|
||||
export default styled(Icon)<{}>`
|
||||
color: #666666;
|
||||
`;
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React from 'react';
|
||||
import styled from '@superset-ui/style';
|
||||
import Icon from 'src/components/Icon';
|
||||
|
||||
interface IndeterminateCheckboxProps {
|
||||
indeterminate: boolean;
|
||||
id: string;
|
||||
checked: boolean;
|
||||
onChange: React.EventHandler<React.SyntheticEvent<HTMLInputElement>>;
|
||||
title?: string;
|
||||
}
|
||||
|
||||
const CheckboxLabel = styled.label`
|
||||
cursor: pointer;
|
||||
margin-bottom: 0;
|
||||
`;
|
||||
|
||||
const HiddenInput = styled.input`
|
||||
visibility: none;
|
||||
`;
|
||||
|
||||
const IndeterminateCheckbox = React.forwardRef(
|
||||
(
|
||||
{
|
||||
indeterminate,
|
||||
id,
|
||||
checked,
|
||||
onChange,
|
||||
title = '',
|
||||
}: IndeterminateCheckboxProps,
|
||||
ref: React.MutableRefObject<any>,
|
||||
) => {
|
||||
const defaultRef = React.useRef<HTMLInputElement>();
|
||||
const resolvedRef = ref || defaultRef;
|
||||
|
||||
React.useEffect(() => {
|
||||
resolvedRef.current.indeterminate = indeterminate;
|
||||
}, [resolvedRef, indeterminate]);
|
||||
|
||||
return (
|
||||
<CheckboxLabel title={title}>
|
||||
{indeterminate && <Icon name="checkbox-half" />}
|
||||
{!indeterminate && checked && <Icon name="checkbox-on" />}
|
||||
{!indeterminate && !checked && <Icon name="checkbox-off" />}
|
||||
<HiddenInput
|
||||
className="hidden"
|
||||
name={id}
|
||||
id={id}
|
||||
type="checkbox"
|
||||
ref={resolvedRef}
|
||||
checked={checked}
|
||||
onChange={onChange}
|
||||
/>
|
||||
</CheckboxLabel>
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
export default IndeterminateCheckbox;
|
||||
|
|
@ -50,14 +50,13 @@ interface Props {
|
|||
|
||||
const bulkSelectColumnConfig = {
|
||||
Cell: ({ row }: any) => (
|
||||
<div>
|
||||
<IndeterminateCheckbox {...row.getToggleRowSelectedProps()} />
|
||||
</div>
|
||||
<IndeterminateCheckbox {...row.getToggleRowSelectedProps()} id={row.id} />
|
||||
),
|
||||
Header: ({ getToggleAllRowsSelectedProps }: any) => (
|
||||
<div>
|
||||
<IndeterminateCheckbox {...getToggleAllRowsSelectedProps()} />
|
||||
</div>
|
||||
<IndeterminateCheckbox
|
||||
{...getToggleAllRowsSelectedProps()}
|
||||
id={'header-toggle-all'}
|
||||
/>
|
||||
),
|
||||
id: 'selection',
|
||||
};
|
||||
|
|
|
|||
|
|
@ -58,18 +58,44 @@
|
|||
.actions {
|
||||
font-size: 20px;
|
||||
white-space: nowrap;
|
||||
|
||||
width: 100px;
|
||||
|
||||
svg {
|
||||
&:hover {
|
||||
path {
|
||||
fill: @primary-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.action-button {
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
&:hover {
|
||||
background-color: @table-hover;
|
||||
}
|
||||
}
|
||||
|
||||
.table-row-selected {
|
||||
background-color: @gray-bg;
|
||||
background-color: @table-selected;
|
||||
|
||||
&:hover {
|
||||
background-color: @table-selected;
|
||||
}
|
||||
}
|
||||
|
||||
.table-cell {
|
||||
word-break: break-all;
|
||||
max-width: 200px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sort-icon {
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
import React from 'react';
|
||||
import cx from 'classnames';
|
||||
import { TableInstance } from 'react-table';
|
||||
import Icon from 'src/components/Icon';
|
||||
|
||||
interface Props {
|
||||
getTableProps: (userProps?: any) => any;
|
||||
|
|
@ -41,28 +42,28 @@ export default function TableCollection({
|
|||
<thead>
|
||||
{headerGroups.map(headerGroup => (
|
||||
<tr {...headerGroup.getHeaderGroupProps()}>
|
||||
{headerGroup.headers.map(column =>
|
||||
column.hidden ? null : (
|
||||
{headerGroup.headers.map(column => {
|
||||
let sortIcon = <Icon name="sort" />;
|
||||
if (column.isSortedDesc) {
|
||||
sortIcon = <Icon name="sort-desc" />;
|
||||
} else if (!column.isSortedDesc) {
|
||||
sortIcon = <Icon name="sort-asc" />;
|
||||
}
|
||||
|
||||
return column.hidden ? null : (
|
||||
<th
|
||||
{...column.getHeaderProps(
|
||||
column.sortable ? column.getSortByToggleProps() : {},
|
||||
)}
|
||||
data-test="sort-header"
|
||||
>
|
||||
{column.render('Header')}
|
||||
{' '}
|
||||
<span>{column.render('Header')}</span>
|
||||
{column.sortable && (
|
||||
<i
|
||||
className={cx('text-primary fa', {
|
||||
'fa-sort': !column.isSorted,
|
||||
'fa-sort-down': column.isSorted && column.isSortedDesc,
|
||||
'fa-sort-up': column.isSorted && !column.isSortedDesc,
|
||||
})}
|
||||
/>
|
||||
<span className="sort-icon">{sortIcon}</span>
|
||||
)}
|
||||
</th>
|
||||
),
|
||||
)}
|
||||
);
|
||||
})}
|
||||
</tr>
|
||||
))}
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
import styled from '@superset-ui/style';
|
||||
import React from 'react';
|
||||
import Icon from 'src/components/Icon';
|
||||
|
||||
interface Props {
|
||||
onSubmit: () => void;
|
||||
|
|
@ -44,32 +45,24 @@ const StyledInput = styled.input`
|
|||
}
|
||||
`;
|
||||
|
||||
const SearchIcon = styled.div`
|
||||
const commonStyles = `
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
display: block;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-position: 2px 2px;
|
||||
background-image: url('/static/assets/images/icons/search.svg');
|
||||
background-repeat: no-repeat;
|
||||
`;
|
||||
const SearchIcon = styled(Icon)`
|
||||
${commonStyles}
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
`;
|
||||
|
||||
const ClearIcon = styled.div`
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
display: block;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
right: 2px;
|
||||
top: 1px;
|
||||
background-position: 2px 2px;
|
||||
background-image: url('/static/assets/images/icons/cancel-x.svg');
|
||||
background-repeat: no-repeat;
|
||||
const ClearIcon = styled(Icon)`
|
||||
${commonStyles}
|
||||
right: 0px;
|
||||
top: 3px;
|
||||
`;
|
||||
|
||||
export default function SearchInput({
|
||||
|
|
@ -84,6 +77,7 @@ export default function SearchInput({
|
|||
<SearchIcon
|
||||
data-test="search-submit"
|
||||
role="button"
|
||||
name="search"
|
||||
onClick={() => onSubmit()}
|
||||
/>
|
||||
<StyledInput
|
||||
|
|
@ -102,6 +96,7 @@ export default function SearchInput({
|
|||
<ClearIcon
|
||||
data-test="search-clear"
|
||||
role="button"
|
||||
name="cancel-x"
|
||||
onClick={() => onClear()}
|
||||
/>
|
||||
)}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
declare module '*.svg';
|
||||
|
|
@ -34,6 +34,8 @@ import {
|
|||
Filters,
|
||||
} from 'src/components/ListView/types';
|
||||
import withToasts from 'src/messageToasts/enhancers/withToasts';
|
||||
import TooltipWrapper from 'src/components/TooltipWrapper';
|
||||
import Icon from 'src/components/Icon';
|
||||
|
||||
const PAGE_SIZE = 25;
|
||||
|
||||
|
|
@ -150,16 +152,66 @@ class DatasetList extends React.PureComponent<Props, State> {
|
|||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
original: { explore_url: exploreUrl, table_name: datasetTitle },
|
||||
original: { kind },
|
||||
},
|
||||
}: any) => <a href={exploreUrl}>{datasetTitle}</a>,
|
||||
Header: t('Table'),
|
||||
}: any) => {
|
||||
if (kind === 'physical')
|
||||
return (
|
||||
<TooltipWrapper
|
||||
label="physical-dataset"
|
||||
tooltip={t('Physical Dataset')}
|
||||
>
|
||||
<Icon name="dataset-physical" />
|
||||
</TooltipWrapper>
|
||||
);
|
||||
|
||||
return (
|
||||
<TooltipWrapper
|
||||
label="virtual-dataset"
|
||||
tooltip={t('Virtual Dataset')}
|
||||
>
|
||||
<Icon name="dataset-virtual" />
|
||||
</TooltipWrapper>
|
||||
);
|
||||
},
|
||||
accessor: 'kind_icon',
|
||||
},
|
||||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
original: { table_name: datasetTitle },
|
||||
},
|
||||
}: any) => datasetTitle,
|
||||
Header: t('Name'),
|
||||
accessor: 'table_name',
|
||||
},
|
||||
{
|
||||
Header: t('Database'),
|
||||
Cell: ({
|
||||
row: {
|
||||
original: { kind },
|
||||
},
|
||||
}: any) => kind[0]?.toUpperCase() + kind.slice(1),
|
||||
Header: t('Type'),
|
||||
accessor: 'kind',
|
||||
},
|
||||
{
|
||||
Header: t('Source'),
|
||||
accessor: 'database_name',
|
||||
},
|
||||
{
|
||||
Header: t('Schema'),
|
||||
accessor: 'schema',
|
||||
},
|
||||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
original: { changed_on: changedOn },
|
||||
},
|
||||
}: any) => <span className="no-wrap">{moment(changedOn).fromNow()}</span>,
|
||||
Header: t('Last Modified'),
|
||||
accessor: 'changed_on',
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
|
|
@ -169,27 +221,13 @@ class DatasetList extends React.PureComponent<Props, State> {
|
|||
},
|
||||
},
|
||||
}: any) => <a href={changedByUrl}>{changedByName}</a>,
|
||||
Header: t('Changed By'),
|
||||
Header: t('Modified By'),
|
||||
accessor: 'changed_by_fk',
|
||||
},
|
||||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
original: { changed_on: changedOn },
|
||||
},
|
||||
}: any) => <span className="no-wrap">{moment(changedOn).fromNow()}</span>,
|
||||
Header: t('Modified'),
|
||||
accessor: 'changed_on',
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
accessor: 'database',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
accessor: 'schema',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
Cell: ({
|
||||
row: {
|
||||
|
|
@ -229,6 +267,14 @@ class DatasetList extends React.PureComponent<Props, State> {
|
|||
<span
|
||||
className={`actions ${state && state.hover ? '' : 'invisible'}`}
|
||||
>
|
||||
<a
|
||||
role="button"
|
||||
tabIndex={0}
|
||||
className="action-button"
|
||||
href={original.explore_url}
|
||||
>
|
||||
<Icon name="compass" />
|
||||
</a>
|
||||
{this.canDelete && (
|
||||
<ConfirmStatusChange
|
||||
title={t('Please Confirm')}
|
||||
|
|
@ -247,7 +293,7 @@ class DatasetList extends React.PureComponent<Props, State> {
|
|||
className="action-button"
|
||||
onClick={confirmDelete}
|
||||
>
|
||||
<i className="fa fa-trash" />
|
||||
<Icon name="trash" />
|
||||
</span>
|
||||
)}
|
||||
</ConfirmStatusChange>
|
||||
|
|
@ -259,7 +305,7 @@ class DatasetList extends React.PureComponent<Props, State> {
|
|||
className="action-button"
|
||||
onClick={handleEdit}
|
||||
>
|
||||
<i className="fa fa-pencil" />
|
||||
<Icon name="pencil" />
|
||||
</span>
|
||||
)}
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
#0b7285, #5f3dc4, #c92a2a, #5c940d, #087f5b;
|
||||
|
||||
@iterations: length(@badge-colors);
|
||||
|
||||
.badge-loop (@i) when (@i > 0) {
|
||||
.filter-badge.badge-@{i},
|
||||
.active .color-bar.badge-@{i},
|
||||
|
|
@ -71,8 +72,10 @@
|
|||
@value: extract(@badge-colors, @i);
|
||||
background-color: @value;
|
||||
}
|
||||
|
||||
.badge-loop(@i - 1);
|
||||
}
|
||||
|
||||
.badge-loop(@iterations);
|
||||
|
||||
/************************************************************************/
|
||||
|
|
@ -157,9 +160,11 @@
|
|||
|
||||
// setting up OTF settings based on @use-ligatures:
|
||||
.set-otf-options(@use-ligatures);
|
||||
|
||||
.set-otf-options(true) {
|
||||
@font-feature-settings: 'liga' on, 'calt' on;
|
||||
}
|
||||
|
||||
.set-otf-options(false) {
|
||||
@font-feature-settings: 'liga' off, 'calt' off;
|
||||
}
|
||||
|
|
@ -190,4 +195,8 @@
|
|||
/* in favor of custom/reusable CSS wherever possible */
|
||||
/************************************************************************/
|
||||
|
||||
// ***************************** SIP 34 UI *******************************
|
||||
@table-hover: rgba(236, 238, 242, 0.5);
|
||||
@table-selected: #eceef2;
|
||||
|
||||
@import '../less/cosmo/variables.less';
|
||||
|
|
|
|||
|
|
@ -212,6 +212,7 @@ const config = {
|
|||
src: path.resolve(APP_DIR, './src'),
|
||||
'react-dom': '@hot-loader/react-dom',
|
||||
stylesheets: path.resolve(APP_DIR, './stylesheets'),
|
||||
images: path.resolve(APP_DIR, './images'),
|
||||
},
|
||||
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
||||
symlinks: false,
|
||||
|
|
@ -299,6 +300,13 @@ const config = {
|
|||
name: '[name].[hash:8].[ext]',
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
|
||||
issuer: {
|
||||
test: /\.(j|t)sx?$/,
|
||||
},
|
||||
use: ['@svgr/webpack'],
|
||||
},
|
||||
{
|
||||
test: /\.(jpg|gif)$/,
|
||||
loader: 'file-loader',
|
||||
|
|
|
|||