mirror of
				https://github.com/CorentinTh/it-tools.git
				synced 2025-11-04 14:03:13 +00:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					8158f29d62 | ||
| 
						 | 
					830c11f2a8 | ||
| 
						 | 
					c484715c3e | ||
| 
						 | 
					0812385ada | ||
| 
						 | 
					f6d8dc41e6 | 
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
 | 
			
		||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 | 
			
		||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 | 
			
		||||
 | 
			
		||||
## Next
 | 
			
		||||
- [fix] [UuidGenerator] added quantity validation rules
 | 
			
		||||
- [refactor] better isInt checker
 | 
			
		||||
 | 
			
		||||
## 1.2.0
 | 
			
		||||
- [feat] [UuidGenerator] can generate multiple uuids 
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "it-tools",
 | 
			
		||||
  "version": "1.2.0",
 | 
			
		||||
  "version": "1.2.1",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "it-tools",
 | 
			
		||||
  "description": "",
 | 
			
		||||
  "version": "1.2.0",
 | 
			
		||||
  "version": "1.2.1",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "serve": "vue-cli-service serve",
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,18 @@
 | 
			
		||||
        <v-card-title>Uuid v4 generator</v-card-title>
 | 
			
		||||
 | 
			
		||||
        <v-card-text>
 | 
			
		||||
            <v-text-field outlined v-model="quantity" type="number" label="Quantity" dense class="quantity"/>
 | 
			
		||||
            <v-textarea outlined v-model="token" class="centered-input" :rows="quantity <= 10 ? quantity : 10" readonly/>
 | 
			
		||||
            <v-text-field
 | 
			
		||||
                    outlined
 | 
			
		||||
                    v-model="quantity"
 | 
			
		||||
                    ref="quantity"
 | 
			
		||||
                    type="number"
 | 
			
		||||
                    label="Quantity"
 | 
			
		||||
                    dense
 | 
			
		||||
                    class="quantity"
 | 
			
		||||
                    :rules="rules.quantity"
 | 
			
		||||
            />
 | 
			
		||||
            <v-textarea outlined v-model="token" class="centered-input" :rows="quantity <= 10 ? quantity : 10"
 | 
			
		||||
                        readonly/>
 | 
			
		||||
 | 
			
		||||
            <div class="text-center">
 | 
			
		||||
                <v-btn @click="refreshBool = !refreshBool" depressed class="mr-4">Refresh</v-btn>
 | 
			
		||||
@@ -15,7 +25,7 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
    import {copyToClipboard} from "../../utils/helpers";
 | 
			
		||||
    import {copyToClipboard, isInt} from "../../utils/helpers";
 | 
			
		||||
 | 
			
		||||
    const noop = () => {
 | 
			
		||||
    };
 | 
			
		||||
@@ -26,8 +36,19 @@
 | 
			
		||||
        name: "UuidGenerator",
 | 
			
		||||
        data: () => ({
 | 
			
		||||
            refreshBool: true,
 | 
			
		||||
            quantity: 1
 | 
			
		||||
            quantity: 1,
 | 
			
		||||
            rules: {
 | 
			
		||||
                quantity: [
 | 
			
		||||
                    v => !!v || 'Quantity is required',
 | 
			
		||||
                    v => (v > 0 && v <= 50 ) || 'Quantity should be > 0 and <= 50',
 | 
			
		||||
                    v => isInt(v) || 'Quantity should be an integer'
 | 
			
		||||
                ]
 | 
			
		||||
            },
 | 
			
		||||
            isMounted:false
 | 
			
		||||
        }),
 | 
			
		||||
        mounted() {
 | 
			
		||||
            this.isMounted = true;
 | 
			
		||||
        },
 | 
			
		||||
        methods: {
 | 
			
		||||
            copyToken() {
 | 
			
		||||
                copyToClipboard(this.token);
 | 
			
		||||
@@ -36,21 +57,25 @@
 | 
			
		||||
        },
 | 
			
		||||
        computed: {
 | 
			
		||||
            token() {
 | 
			
		||||
                if (this.isMounted && this.$refs.quantity.validate()) {
 | 
			
		||||
                    if (this.refreshBool) noop(); // To force recomputation
 | 
			
		||||
 | 
			
		||||
                    return Array.from({length: this.quantity}, generateUuid).join('\n');
 | 
			
		||||
                } else {
 | 
			
		||||
                    return '';
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less">
 | 
			
		||||
    .quantity{
 | 
			
		||||
    .quantity {
 | 
			
		||||
        width: 100px;
 | 
			
		||||
        margin: auto;
 | 
			
		||||
        text-align: center;
 | 
			
		||||
 | 
			
		||||
        ::v-deep input{
 | 
			
		||||
        ::v-deep input {
 | 
			
		||||
            text-align: center;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ const formatBytes = (bytes, decimals = 2) => {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const isInt = (value) => {
 | 
			
		||||
    return !isNaN(value) && ((x) => (x | 0) === x)(parseFloat(value))
 | 
			
		||||
    return Number.isInteger(value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user