defaultPropsComponents.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { QDialog, QInput, QSelect, QScrollArea, QCard } from "quasar";
  2. import { defineBoot } from "#q-app/wrappers";
  3. import DefaultForm from "src/components/defaults/DefaultForm.vue";
  4. /**
  5. * Set some default properties on a component
  6. */
  7. const SetComponentDefaults = (component, defaults) => {
  8. Object.keys(defaults).forEach((prop) => {
  9. component.props[prop] =
  10. Array.isArray(component.props[prop]) === true ||
  11. typeof component.props[prop] === "function"
  12. ? { type: component.props[prop], default: defaults[prop] }
  13. : { ...component.props[prop], default: defaults[prop] };
  14. });
  15. };
  16. export default defineBoot(({ app }) => {
  17. app.component("DefaultForm", DefaultForm);
  18. SetComponentDefaults(QDialog, {
  19. transitionShow: "slide-up",
  20. transitionHide: "slide-down",
  21. });
  22. SetComponentDefaults(QInput, {
  23. standout: true,
  24. dense: true,
  25. });
  26. SetComponentDefaults(QSelect, {
  27. standout: true,
  28. dense: true,
  29. });
  30. SetComponentDefaults(QCard, {
  31. flat: true,
  32. });
  33. SetComponentDefaults(QScrollArea, {
  34. thumbStyle: {
  35. borderRadius: "4px",
  36. background: "#A6A6A6",
  37. width: "6px",
  38. opacity: 0.6,
  39. },
  40. verticalOffset: [4, 2],
  41. horizontalOffset: [0, 2],
  42. });
  43. });