bullet_train-fields 1.7.17 → 1.7.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9b14ac3386fb54947b395cdfe52c4b6e67daf66d85bfc2835ca57a902f595f3
|
4
|
+
data.tar.gz: 3f83062cbb1c93c12aba34a905e6b7e9aad844d9d2d5bea3cb838fc7aae70ffd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b156011b5b6c7829d09d15afc81bffa8db7731d979353e8e32e2faa87a3af647bc0877209276561faa39c2dba63115962744414e8779de6f8e0e9e1c954a4bcd
|
7
|
+
data.tar.gz: 44096f02396db0eab961f73859d980cbd4b13aede5f99b9af82ee0a3a6a869565f9da8aee74d6ab6bd30ca1774f5ccb54790779e93eda0c880c3144100d6af5c
|
@@ -7,11 +7,23 @@ export default class extends Controller {
|
|
7
7
|
"downloadFileButton",
|
8
8
|
"removeFileButton",
|
9
9
|
"selectFileButton",
|
10
|
+
"selectFileButtonText",
|
11
|
+
"selectFileButtonIcon",
|
12
|
+
"selectedFileListContainer",
|
13
|
+
"selectedFileList",
|
14
|
+
"selectedFileRowTemplate",
|
10
15
|
"progressBar",
|
11
16
|
"progressLabel",
|
12
17
|
];
|
13
18
|
|
19
|
+
static values = {
|
20
|
+
selectDifferentFile: String
|
21
|
+
}
|
22
|
+
|
14
23
|
connect() {
|
24
|
+
const statusText = this.selectFileButtonTextTarget;
|
25
|
+
this.originalStatusText = statusText.innerText;
|
26
|
+
|
15
27
|
// Add upload event listeners
|
16
28
|
const initializeListener = document.addEventListener(
|
17
29
|
"direct-upload:initialize",
|
@@ -77,16 +89,56 @@ export default class extends Controller {
|
|
77
89
|
this.removeFileFlagTarget.value = true;
|
78
90
|
}
|
79
91
|
|
80
|
-
handleFileSelected() {
|
81
|
-
const statusText = this.selectFileButtonTarget.querySelector("span");
|
82
|
-
const icon = this.selectFileButtonTarget.querySelector("i");
|
83
|
-
|
92
|
+
handleFileSelected(event) {
|
84
93
|
if (this.hasDownloadFileButtonTarget) {
|
85
94
|
this.downloadFileButtonTarget.remove();
|
86
95
|
}
|
87
96
|
|
88
|
-
|
89
|
-
|
90
|
-
|
97
|
+
const files = event.target.files;
|
98
|
+
this.updateSelectedFileList(files);
|
99
|
+
}
|
100
|
+
|
101
|
+
cancelFileUpload(event){
|
102
|
+
const fileInput = this.fileFieldTarget;
|
103
|
+
const files = fileInput.files;
|
104
|
+
const fileToCancel = event.target.dataset.filename;
|
105
|
+
|
106
|
+
const dt = new DataTransfer();
|
107
|
+
for (const file of files) {
|
108
|
+
if(file.name != fileToCancel){
|
109
|
+
dt.items.add(file);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
fileInput.files = dt.files;
|
113
|
+
this.updateSelectedFileList(dt.files);
|
114
|
+
}
|
115
|
+
|
116
|
+
updateSelectedFileList(files){
|
117
|
+
const statusText = this.selectFileButtonTextTarget;
|
118
|
+
const icon = this.selectFileButtonIconTarget;
|
119
|
+
|
120
|
+
this.selectedFileListTarget.innerHTML = "";
|
121
|
+
|
122
|
+
if(files.length){
|
123
|
+
for (const file of files) {
|
124
|
+
this.addSelectedFile(file);
|
125
|
+
}
|
126
|
+
statusText.innerText = this.selectDifferentFileValue;
|
127
|
+
icon.classList.remove("ti-upload");
|
128
|
+
icon.classList.add("ti-check");
|
129
|
+
this.selectedFileListContainerTarget.classList.remove('hidden')
|
130
|
+
}else{
|
131
|
+
statusText.innerText = this.originalStatusText;
|
132
|
+
icon.classList.add("ti-upload");
|
133
|
+
icon.classList.remove("ti-check");
|
134
|
+
this.selectedFileListContainerTarget.classList.add('hidden')
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
addSelectedFile(file){
|
139
|
+
let template = this.selectedFileRowTemplateTarget.innerHTML;
|
140
|
+
template = template.replaceAll("@FILENAME@", file.name);
|
141
|
+
this.selectedFileListTarget.insertAdjacentHTML('beforeend', template);
|
91
142
|
}
|
143
|
+
|
92
144
|
}
|
@@ -5,6 +5,7 @@ export default class extends Controller {
|
|
5
5
|
"removeFileFlag",
|
6
6
|
"downloadFileButton",
|
7
7
|
"removeFileButton",
|
8
|
+
"cancelRemoveFileButton",
|
8
9
|
"fileName"
|
9
10
|
];
|
10
11
|
|
@@ -16,8 +17,20 @@ export default class extends Controller {
|
|
16
17
|
}
|
17
18
|
|
18
19
|
this.removeFileButtonTarget.classList.add("hidden");
|
19
|
-
this.
|
20
|
+
this.cancelRemoveFileButtonTarget.classList.remove("hidden");
|
20
21
|
this.removeFileFlagTarget.value = this.idValue;
|
22
|
+
this.element.classList.add("bg-red-100", "dark:bg-red-700");
|
23
|
+
}
|
24
|
+
|
25
|
+
cancelRemoveFile(){
|
26
|
+
if (this.hasDownloadFileButtonTarget) {
|
27
|
+
this.downloadFileButtonTarget.classList.remove("hidden");
|
28
|
+
}
|
29
|
+
|
30
|
+
this.removeFileButtonTarget.classList.remove("hidden");
|
31
|
+
this.cancelRemoveFileButtonTarget.classList.add("hidden");
|
32
|
+
this.removeFileFlagTarget.value = null;
|
33
|
+
this.element.classList.remove("bg-red-100", "dark:bg-red-700/40");
|
21
34
|
}
|
22
35
|
|
23
36
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-fields
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|