New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@cocreate/croppie

Package Overview
Dependencies
Maintainers
1
Versions
197
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cocreate/croppie - npm Package Compare versions

Comparing version 1.3.14 to 1.3.15

7

CHANGELOG.md

@@ -0,1 +1,8 @@

## [1.3.15](https://github.com/CoCreate-app/CoCreate-croppie/compare/v1.3.14...v1.3.15) (2023-06-10)
### Bug Fixes
* Update dependencies versions for [@cocreate](https://github.com/cocreate) libraries ([1a46a62](https://github.com/CoCreate-app/CoCreate-croppie/commit/1a46a62a1ee3395635ec52e35608fba4fb1aa9c6))
## [1.3.14](https://github.com/CoCreate-app/CoCreate-croppie/compare/v1.3.13...v1.3.14) (2023-06-04)

@@ -2,0 +9,0 @@

8

CoCreate.config.js
module.exports = {
"config": {
"organization_id": "",
"key": "",
"host": ""
},
"organization_id": "",
"key": "",
"host": "",
"sources": [

@@ -8,0 +6,0 @@ {

{
"name": "@cocreate/croppie",
"version": "1.3.14",
"version": "1.3.15",
"description": "A simple croppie component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",

@@ -30,3 +30,4 @@ "keywords": [

"dev": "npx webpack --config webpack.config.js --watch",
"docs": "node ./node_modules/@cocreate/docs/src/index.js"
"docs": "node ./node_modules/@cocreate/docs/src/index.js",
"postinstall": "node ./node_modules/@cocreate/cli/check-coc.js"
},

@@ -51,2 +52,3 @@ "repository": {

"@babel/preset-env": "^7.9.6",
"@cocreate/cli": "^1.29.3",
"babel-loader": "^8.1.0",

@@ -63,7 +65,7 @@ "clean-webpack-plugin": "^3.0.0",

"dependencies": {
"@cocreate/actions": "^1.8.14",
"@cocreate/crud-client": "^1.21.8",
"@cocreate/docs": "^1.7.15",
"@cocreate/actions": "^1.8.18",
"@cocreate/crud-client": "^1.21.10",
"@cocreate/docs": "^1.8.13",
"croppie": "^2.6.5"
}
}

@@ -6,156 +6,156 @@ import croppie from 'croppie';

const CocreateCroppie = {
debug : true,
selector_element : '[editor="croppie"]',
selector_croppie : '.croppie',
croppieElements : [],
croppieObjs : [],
displayErrors : function(msg) {
if (this.debug)
console.error(msg)
debug: true,
selector_element: '[editor="croppie"]',
selector_croppie: '.croppie',
croppieElements: [],
croppieObjs: [],
displayErrors: function (msg) {
if (this.debug)
console.error(msg)
},
init : function() {
init: function () {
this.croppieElements = document.querySelectorAll(this.selector_element);
for (let i=0; i < this.croppieElements.length; i++) {
this.initCroppie(this.croppieElements[i]);
for (let i = 0; i < this.croppieElements.length; i++) {
this.initCroppie(this.croppieElements[i]);
}
},
initCroppie : function(el){
let cropieInit = (el.tagName != 'IMG') ? el.querySelector(this.selector_croppie) : el;
initCroppie: function (el) {
let cropieInit = (el.tagName != 'IMG') ? el.querySelector(this.selector_croppie) : el;
let fileInput = el.querySelector("input[type='file']");
let objCroppie = {}
if (!cropieInit){
this.displayErrors("No genero Croppie = "+cropieInit)
return false
if (!cropieInit) {
this.displayErrors("No genero Croppie = " + cropieInit)
return false
}
let resizer = new croppie(cropieInit, {
boundary: { width: 300, height: 300 },
viewport: { width: 200, height: 200 },
showZoomer: true,
// enableResize: true,
enableOrientation: true,
enableZoom: true,
mouseWheelZoom: 'ctrl'
boundary: { width: 300, height: 300 },
viewport: { width: 200, height: 200 },
showZoomer: true,
// enableResize: true,
enableOrientation: true,
enableZoom: true,
mouseWheelZoom: 'ctrl'
});
objCroppie = {'croppie':el,'resizer':resizer}
if (fileInput){
objCroppie["fileInput"] = fileInput
fileInput.addEventListener('change', function(e) {
if (this.files.length == 0) return;
let file = this.files[0];
let reader = new FileReader();
reader.onload = function(e) {
resizer.bind({
url: e.target.result
})
};
reader.readAsDataURL(file);
})
objCroppie = { 'croppie': el, 'resizer': resizer }
if (fileInput) {
objCroppie["fileInput"] = fileInput
fileInput.addEventListener('change', function (e) {
if (this.files.length == 0) return;
let file = this.files[0];
let reader = new FileReader();
reader.onload = function (e) {
resizer.bind({
url: e.target.result
})
};
reader.readAsDataURL(file);
})
}
this.croppieObjs.push(objCroppie);
},
saveCroppieCrud: async function(elCroppie) {
let name = elCroppie.getAttribute('name');
let data = elCroppie.dataset;
if (typeof name === 'undefined' || name === '' || name ==null){
console.error("you need add attr [name] ");
return
}
if (typeof data["collection"] === 'undefined' || data["collection"] === ''){
console.error("you need add attr [collection] ");
return
}
let obj = this.croppieObjs.find((obj) => obj.croppie === elCroppie);
let base64 = (elCroppie.tagName == 'IMG') ? await this.getCropResult(obj.resizer) : (obj.fileInput.files.length) ? await this.getCropResult(obj.resizer) : null
if (base64){
crud.createDocument({
collection:data["collection"],
document: {[name]:base64},
});
}else{
console.error("it is Empty, not save croppie in crud")
}
saveCroppieCrud: async function (elCroppie) {
let name = elCroppie.getAttribute('name');
let data = elCroppie.dataset;
if (typeof name === 'undefined' || name === '' || name == null) {
console.error("you need add attr [name] ");
return
}
if (typeof data["collection"] === 'undefined' || data["collection"] === '') {
console.error("you need add attr [collection] ");
return
}
let obj = this.croppieObjs.find((obj) => obj.croppie === elCroppie);
let base64 = (elCroppie.tagName == 'IMG') ? await this.getCropResult(obj.resizer) : (obj.fileInput.files.length) ? await this.getCropResult(obj.resizer) : null
if (base64) {
crud.createDocument({
collection: data["collection"],
document: { [name]: base64 },
});
} else {
console.error("it is Empty, not save croppie in crud")
}
},
__croppieUploadImageAction: function(btn) {
let croppie = btn.closest(this.selector_element);
if (!croppie ){
console.error("It needs to be inside an element "+this.selector_element+"")
return false
__croppieUploadImageAction: function (btn) {
let croppie = btn.closest(this.selector_element);
if (!croppie) {
console.error("It needs to be inside an element " + this.selector_element + "")
return false
}
let fileInput = croppie.querySelector("input[type='file']");
if (!fileInput ){
console.error("You need in input file inside "+this.selector_element+"")
return false
let fileInput = croppie.querySelector("input[type='file']");
if (!fileInput) {
console.error("You need in input file inside " + this.selector_element + "")
return false
}
fileInput.click();
document.dispatchEvent(new CustomEvent('CroppieUploadImage', {
detail: {}
}))
},
__croppieSaveAction: function(btn) {
let croppie = btn.closest(this.selector_element);
let executeMultiple = false;
if (!croppie ){
//btn It is not within the parent tag
executeMultiple = true
let that = this;
let form = btn.closest('form');
let croppies = form.querySelectorAll(this.selector_element);
croppies.forEach(function(croppie) {
that.saveCroppieCrud(croppie);
});
}
if (executeMultiple == false)
this.saveCroppieCrud(croppie)
document.dispatchEvent(new CustomEvent('CroppieSave', {
detail: {}
}))
fileInput.click();
document.dispatchEvent(new CustomEvent('CroppieUploadImage', {
detail: {}
}))
},
__croppieSaveAction: function (btn) {
let croppie = btn.closest(this.selector_element);
let executeMultiple = false;
if (!croppie) {
//btn It is not within the parent tag
executeMultiple = true
let that = this;
let form = btn.closest('form');
let croppies = form.querySelectorAll(this.selector_element);
croppies.forEach(function (croppie) {
that.saveCroppieCrud(croppie);
});
}
if (executeMultiple == false)
this.saveCroppieCrud(croppie)
document.dispatchEvent(new CustomEvent('CroppieSave', {
detail: {}
}))
},
readFile: function (file = {}, method = 'readAsText') {
const reader = new FileReader()
return new Promise((resolve, reject) => {
reader[method](file)
reader.onload = () => {
resolve(reader)
}
reader.onerror = (error) => reject(error)
})
},
getCropResult : function(resizer) {
return new Promise((resolve, reject) => {
resizer.result('base64').then(function(base64) {
resolve(base64);
}).onerror = (error) => reject(error);
});
}
const reader = new FileReader()
return new Promise((resolve, reject) => {
reader[method](file)
reader.onload = () => {
resolve(reader)
}
reader.onerror = (error) => reject(error)
})
},
getCropResult: function (resizer) {
return new Promise((resolve, reject) => {
resizer.result('base64').then(function (base64) {
resolve(base64);
}).onerror = (error) => reject(error);
});
}
}//end class CocreateCroppie
action.init({
name: "CroppieUploadImage",
endEvent: "CroppieUploadImage",
callback: (btn, data) => {
CocreateCroppie.__croppieUploadImageAction(btn);
}
name: "CroppieUploadImage",
endEvent: "CroppieUploadImage",
callback: (btn, data) => {
CocreateCroppie.__croppieUploadImageAction(btn);
}
});

@@ -165,7 +165,7 @@

action.init({
name: "CroppieSave",
endEvent: "CroppieSave",
callback: (btn, data) => {
CocreateCroppie.__croppieSaveAction(btn);
},
name: "CroppieSave",
endEvent: "CroppieSave",
callback: (btn, data) => {
CocreateCroppie.__croppieSaveAction(btn);
},
});

@@ -172,0 +172,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc