Add Project entity, user routes and clipper controls
This commit is contained in:
@@ -7,6 +7,7 @@ import * as WEBIFC from 'web-ifc';
|
||||
* @namespace BIM
|
||||
*/
|
||||
const BIM = {};
|
||||
BIM.clipper = undefined;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -52,7 +53,7 @@ BIM.activateClipper = function () {
|
||||
clipper.enabled = true;
|
||||
clipper.create(this.world);
|
||||
clipper.visible = true;
|
||||
this.clipper = clipper;
|
||||
BIM.clipper = clipper;
|
||||
}
|
||||
/**
|
||||
* Delete a selected clipping plane
|
||||
|
||||
22
assets/controllers/clipper_controller.js
Normal file
22
assets/controllers/clipper_controller.js
Normal file
@@ -0,0 +1,22 @@
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
import * as THREE from "three"
|
||||
import BIM from '../bim.js';
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = ['hex'];
|
||||
|
||||
color(event) {
|
||||
let color = event.target.value;
|
||||
this.hexTarget.querySelector('span').textContent = color;
|
||||
BIM.clipper.config.color = new THREE.Color(color);
|
||||
}
|
||||
|
||||
size(event) {
|
||||
BIM.clipper.config.size = event.target.value
|
||||
}
|
||||
|
||||
deleteAll() {
|
||||
BIM.clipper.deleteAll();
|
||||
}
|
||||
}
|
||||
|
||||
26
assets/controllers/dropdown_controller.js
Normal file
26
assets/controllers/dropdown_controller.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Controller } from '@hotwired/stimulus';
|
||||
|
||||
/**
|
||||
* Activate a dropdown menu and toggle icon
|
||||
* [template: data_entry.html.twig]
|
||||
*/
|
||||
export default class extends Controller {
|
||||
static targets = ['drop', 'caret'];
|
||||
|
||||
toggle() {
|
||||
// Show / hide dropdown
|
||||
this.dropTarget.classList.toggle('is-active');
|
||||
const caretTarget = this.caretTarget;
|
||||
const caretState = caretTarget.className.includes('down') ? 'down' : 'up';
|
||||
const caretAction = {
|
||||
'down': function(target) {
|
||||
target.className = target.className.replace('down', 'up');
|
||||
},
|
||||
'up': function(target) {
|
||||
target.className = target.className.replace('up', 'down');
|
||||
}
|
||||
};
|
||||
|
||||
caretAction[caretState](this.caretTarget);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user