Changelog

v0.2.290

  • IMPROVED: IsPublishable model trait now supports boolean-only publishables.
  • IMPROVED: IsPublishableCrud trait now supports boolean-only publishables.
  • IMPROVED: PublishesItems trait now supports boolean-only publishables.

v0.2.282

  • FIX: Fixed flexible content settings fields not saving correctly. Also fixed a few minor quality issues while I was at it.
  • REMOVED: The default textarea rowspec has been removed from pages. You will need to add at least one rowspec yourself. But that's ok because...
  • NEW: Added some default row specs: Yadda\Enso\Crud\Forms\Sections\WysiwygSection, Yadda\Enso\Crud\Forms\Sections\ButtonsSection.
  • NEW: Added default views for default row specs, including: buttons, image_text and wysiwyg.
  • IMPROVED Updated Yadda\Enso\Crud\Forms\Sections\TextImageSection to be more inline with the way we do things.
  • NEW: Added a 1_1_640 image preset.

v0.2.281

  • FIXED: Flexible content rows were using the same set of fields for fields and settings fields.

v0.2.280

  • NEW: Added a HasSlug trait for models. Only contains a query scope for now.
  • IMPROVED: Make migrations that create tables (users, roles, settings and meta) do nothing if table already exists to improve installation experience when things fail.
  • IMPROVED: Install command will warn when the users table already exists.
  • IMPROVED: Various code quality improvements.
  • IMPROVED: Added a routes file to the Crud section. This contains the Amazon ASIN crud.
  • IMPROVED: Added files crud to default crud config file.

v0.2.279

  • NEW: Added Option Group support to Enso SelectFields

v0.2.278

  • NEW: Added HasFields, HasCrudFields and HasSettingsFields traits.
  • NEW: Added FieldCollection.
  • NEW: You can now add pivot data to BelongsToMany fields

v0.2.277

  • FIX: Fixed .stylelintrc.json path in EnsoServiceProvider
  • FIX: Flexible content sub-fields can now be sanitized

v0.2.276

  • FIX: Renamed .stylelint.json to .stylelintrc.json
  • FIX: Removed and fixed some deprecated code.

v0.2.275

  • NEW: Added helpers for adding RowSpecs to FlexibleContentFields, similar to how Sections work. E.g. hasRowSpec, extractRowSpec, addRowSpecAfter, etc.
  • NEW: Added setting field helpers to FlexibleContentSection. addSettingsFields, getSettingsField, etc.
  • NEW: Added addFieldsBefore and addFieldsAfter to Sections

v0.2.273

  • IMPROVED: If slug field route is not provided it will be displayed as plain text instead of as a link
  • IMPROVED: GalleryField no longer uses the old uploader.
  • IMPROVED: Renamed crud form button from "back" to "cancel" to better represent the fact that it doesn't save anything.
  • FIXED: Matched the height of bulk select dropdowns with their buttons and other form fields.

v0.2.272

  • FIX: Fix empty nested ConditionTreeNode

v0.2.271

  • NEW: Added blockContent and settingContent helpers to FlexibleRow.
  • NEW: Added ::make() to Column to bring it inline with Field and Section.
  • NEW: On edit routes, instead of reloading the page after saving, reload the item and form from the response.
  • NEW: Allow dismissing the edit route modal by clicking on the background or pressing escape.
  • IMPROVED: Move CRUD form save button to a fixed bar at the bottom of the page
  • IMPROVED: Add a nice saving animation on the save button by using the Bulma is-loading class

v0.2.270

  • FIXED: Use the enso middleware for all backend routes.

v0.2.269

  • FIXED: Reduced upload chunk size as it was failing on some systems. This means more chunks we uploaded but I think it's an acceptable trade-off.
  • FIXED: Fixed a few JS errors that were happening in the upload system in general.

v0.2.268

  • NEW: Media files are now searchable, both in the media browser and media picker.
  • NEW: Media files can now be renamed via the CMS.
  • UPDATED: HasUuids trait to reference single uuid column

v0.2.267

  • NEW: Added a UsesPages trait
  • NEW: Added a HasUuids trait
  • NEW: Added PublishesItems and IsPublishableCrud traits.

v0.2.263

  • FIXED: Removed extra whitespace from index text filter query

v0.2.262

  • NEW: RandomTextField. It's a text field with a button that will generate an alphanumeric string of a configurable length.

v0.2.260 - 0.2.261

  • FIXED: Allow clicking the order column header to order CRUD items by the order column. Before this is was possible to order by other columns and then not be able to drag and drop order with out refreshing.

v0.2.259

  • FIXED: Use contracts for User and Role models in seeders

v0.2.258

  • UPDATED: RelationSections new create relations if they don't exist, but only when data is filled in.
  • FIXED: Fixed the publish path for the new Docker files that were incorrect.
  • NEW: Added code quality tool config files
  • NEW: Added Docker support

v0.2.257

  • UPDATED: You can now mark a Crud form to allow/prevent autocomplete="on".

v0.2.254

  • NEW: Adds Crud sections HasOneSection and BelongsToSection for saving data directly to simple relations.

v0.2.253

  • NEW: Added Crud Action permission facility
  • FIXED: FileUploadFieldResumable modal data for images uploaded since initial page load.

v0.2.252

  • NEW: Added an empty Vuex store to Enso.

v0.2.250 - v0.2.251

  • FIXED: Fixed some bugs in v0.2.249

v0.2.249

  • NEW: Add image optimisation
  • FIXED: Fix makeResizes parameter order

v0.2.248

  • IMPROVED: Use x-forwarded-for for auth and CRUD loggin

v0.2.247

  • FIXED: Fixes for EnsoCrud::maintainFileList()

v0.2.246

  • NEW: Add logging to auth and CRUD events

v0.2.245

  • IMPROVED: Fixed EnsoDate and EnsoDateTime vue components having v-for with no key
  • IMPROVED: Added names to the individual inputs for EnsoDateTime vue component. It can now be used as a standalone component.

v0.2.244

  • IMPROVED: Upload / Choose buttons on FileUploadFieldResumable go away when max images uploaded.
  • IMPROVED: FileUploadFieldResumable can now be used in FlexibleContent rows.
  • FIXED: Replaceing ImageUploadField with FileUploadFieldResumable allows for functioning use of s3 storage in FlexibleContent
  • FIXED: FlexibleBlock getName now works.
  • FIXED: Calling rename on MediaFile no longer breaks.

v0.2.241

  • FIXED: Check meta images exist before trying to get their URLs

v0.2.240

  • IMPROVED: Replace direct references to MediaFile and other media models with calls to resolve() on their contracts.

v0.2.239

  • FIXED: Footer scripts were outside of the body tag which was causing errors on IE

v0.2.238

  • IMPROVED: Text field value length is no longer shown if there is no value

v0.2.237

  • FIXED: Text fields weren't accessing the value correctly when showing value length

v0.2.236

  • FIXED: RelationshipRepeaterField was getting an Collection instead of the expected array

v0.2.s35

  • FIXED: The bulk action dropdown field wasn't having its value set correctly

v0.2.234

  • BROKE: The consistency of the version numbers. Decided to roll with it.
  • IMPROVED: Bumped Enso Utilities version

v0.2.133

  • FIXED: When a crud that has a file upload field which has max files set to 1 and has had a file uploaded to it then has the file removed, the file is now correctly detached from the relationship.

v0.2.132

  • IMPROVED: Various JS things for compatibility with Laravel Mix v4

v0.2.131

  • IMPROVED: Better handling of Image field IDs so that they are unique even if they are nested inside other flexible content fields and in different sections

v0.2.130

  • IMPROVED: Manipulation of Crud Form -> Section -> Field orders is now defined with explicit function calls, not arbitrary numbers. No more accidentally overwriting sections / fields!

v0.2.126 & fixes (v0.2.127 - v0.2.129)

  • NEW: Support for 's3' Amazon data storage.
  • NEW: Add a console command to transfer Media files from one disk to another.

v0.2.123 - v0.2.125

  • FIX: RoleRepository now uses the bound RoleContract to determing the correct Role model to use.
  • IMPROVED: Code quality

v0.2.122

  • NEW: Add unique IDs to rows outputted by @flexibleField
  • NEW: Add character count on fields that have min/max length
  • FIXED: CRUD fields can now accept any input type.
  • FIXED: Check if settings_fields exists when ouyputting flexible field content.
  • IMPROVED: Use app.locale config value for Meta locale
  • IMPROVED: Only log a basic error when failing to resize an image, rather than a whole traceback.

v0.2.121

  • NEW: Flexible content settings fields.
  • NEW: make methods for Fields and Sections.

v0.2.118 - 120

  • NEW: Mailer Module added (with hotfixes)

v0.2.116

  • IMPROVED: Menu Items can be retrieved (not just updated) by their label.

v0.2.115

  • IMPROVED: CMS Bulk Actions have been reworked to allow message responses.

v0.2.114

  • IMPROVED: You can now remove fields from flexible content rows.

v0.2.113

  • NEW: Ability to set a class on filter inputs. E.g. is-3, like you would use on field inputs
  • IMPROVED: Updated WYSIWYG styles to increase header sizes so that they're bigger than body text.
  • FIXED: Prevented filter inputs from attempting to match a pattern even when a pattern wasn't provided.

v0.2.112

  • NEW: Added a bunch of tests.

v0.2.111

  • NEW: Add the ability to restrict menu item visibility based on user permissions

v0.2.110

  • NEW: Added Deployer for creating new Ensō versions: dep new production
  • IMPROVED: Removed the old edit_url variable that is no longer being used after post-save buttons were introduced

v0.2.108

  • NEW: Media library! This includes:
    • A "Media" section on the main menuin the backend
    • A new type of image uploader:
    • Can upload BIG files
    • Better error reporting (i.e. doesn't spit out html as if it's text)
    • Paves the way to resumable uploads
    • Can pick files rather than uploading them again
    • Can delete files (if they are not in use)
    • Can edit a file's titles, captions and alt text
  • NEW: Thumbnail column type - Made specifically for the media library but may come in useful elsewhere, though may need some more work for that
  • NEW: An Artisan command for regenerating images
  • IMPROVED: Pages and Meta now use the new file uploader
  • IMPROVED: Refactored pagination into a separate component so we can re-use it around the backend and potentially on the frontend too

v0.2.105

  • FIXED: Meta facebook/twitter meta images weren't using the override image

v0.2.104

  • NEW: Added auth views which can be published with the authviews tag.
  • IMPROVED: Added getOrderableNext and getOrderablePrevious to IsOrderable trait.
  • IMPROVED: Styles CRUD multiselects so that they match regular text inputs

v0.2.103

  • NEW: Add tests for fields
  • NEW: Added ability to add classes to CRUD index table TH elements
  • FIXED: Fix DateTime field events not being bound correctly

v0.2.102

  • FIXED: Some minor bugs on make:crud command and analytics settings.

v0.2.101

  • NEW: Added Google Analytics UA and GTM codes to settings and added views for adding the relevant tracking codes to the page.
  • NEW: Added an Analytics section to the backend to pull through basic Google Analytics stats from the Analytics API.
  • NEW: Added wysiwyg_required validation rule.
  • NEW: Added pattern attribute to text fields.
  • IMPROVED: CRUD controllers now return 500 codes on erroring json routes.
  • IMPROVED: Moved enso:make:crud command to just make:crud and made it create controller, config, model and migration and give instructions for the rest of the process.
  • IMPROVED: Frontend handling of slugs is a lot better. Special characters are stripped, multiple dashes and underscores are replaced with single dashes.
  • IMPROVED: You can now create a user with an empty password. This will not allow the user to log in with an empty string. Instead it will put a dummy string in the database which will prevent login until there password is properly set.

v0.2.100

  • IMPROVED: On CRUD index pages, instead of being able to drag an entire Crud item, there is now a drag handle which appears automatically when things are draggable. This solves the problem of click events not registering as well as improving the UX by giving visual feedback.
  • IMPROVED: CRUD queries now do not use global scopes. This allows us to create our own global scopes for the frontend (e.g. scopeIsFrontend or scopePublished) without affecting the backend.
  • IMPROVED: Removed the hard-coded order column in the CRUD controller reorder method. It now uses whatever you set in the CRUD config, though you'll probably just leave it as order anyway.
  • IMPROVED: Remove spaces from uploaded file names. This was a regression in a previous update. Fixed now.
  • IMPROVED: Meta data now uses fallbacks in the following order: Facebook/Twitter in meta tab, default in meta tab, override meta (specified in code), facebook/twitter setting, default setting. I'll try and describe this better in the Meta docs.

v0.2.99

  • FIXED: Sometimes when reordering flexible content rows the content was staying in the same row but the row type was being moved. This should now work correctly.

v0.2.98

  • FIXED: Meta data fallbacks were incorrect.

v0.2.97

  • FIXED: Image resize process wasn't checking for built-in presets correctly, causing it to not generate the image.

v0.2.96

  • NEW: Added basic system for filtering CRUD values when saving.

v0.2.95

  • FIXED: Fixed a migration to work in SQLite.

v0.2.94

  • NEW & IMPROVED: The Meta section has been greatly improved. There is now a Meta tab in settings where you can set fallback meta data. There is also a new Meta Facade for setting meta data and a blade template for outputting meta data in the <head>. Meta images will be resized to the appropriate size (though there is room for further improvement here).
  • NEW: Added Twitter Card, Site and Creator options in Meta tabs.
  • IMPROVED: Core Ensō image presets are now stored inside Ensō itself instead of the published config file.
  • IMPROVED: Improved the helptext and labels on Meta tab.

v0.2.93

  • Add OrderableMultiSelectField

v0.2.92

  • Make DateTimeField apply attrs to date picker input

v0.2.91

  • IMPROVED: Hide "clear" button on DateTimeFields when they are readonly or disabled
  • IMPROVED: On CRUD index pages, when a bulk action is submitted and returns an error, update the item list. This is because errors can be only partial errors. This way we will get a customisable error message and have the list updated.
  • IMPROVED: The Page crud no longer uses HTML Purifier.
  • FIXED: Removed a console.log from SvgSprite.vue and tidied it up a bit.

v0.2.90

  • FIXED: Gallery images were showing in the wrong order on the crud edit pages

v0.2.89

  • NEW: Added a way to lighten/darken images using Enso Media presets - http://enso-docs.yadda.co.uk/media/image-presets/
  • IMPROVED: Refactored image presets to use InterventionImage filters

v0.2.88

  • FIXED: Bulk actions list was appearing empty.

v0.2.87

  • IMPROVED: Bulk actions UI: 'commit' button is now 'go'. Dropdown and button are the same height. Checkbox column is no wider than it needs to be. Removed the annoying "press enter to select" labels on dropdown.

v0.2.86

  • FIXED: Profile controller no longer clears User Roles on saving.
  • FIXED: DateTimeField wasn't updating value when the field was cleared.
  • FIXED: Cast index page number to int as it was being interpretted as a string when taken from the hash value
  • IMPROVED: Made updates to some Enso core Cruds.
  • IMPROVED: DateTimeField - don't hide hours and minutes when they're zero.
  • IMPROVED: DateTimeField - hide seconds by default.
  • IMPROVED: Pages - Improvements to publishing. Pages can now be bulk published/unpublished. When publishing, publish_at will be set to the current time. There is now a separate PagePublishController.

v0.2.82

  • NEW: FileUploadFieldResumable. A slightly misnamed that allows chunked uploading but currently does not support resuming downloads.

v0.2.81

  • NEW: DateTimeField. For use on date, time, datetime and timestamp columns.

v0.2.76

  • NEW: Make main menu CRUD links include a #1 so that they always go to page 1. Otherwise, the page number is remembered when going back from an edit/create page.
  • FIXED: Made main menu items line up properly
  • FIXED: Prevent sending form when pressing enter when search or filter input is focused.
  • IMPROVED: Updated default login details from Yadda to Maya.

v0.2.75

IMPROVED: Simplified ProfileController by separating getItem() on Crud/Controller into its own method that can then be overridden. This removes a bunch of code from ProfileController and makes it easier to maintain.

v0.2.72

  • BREAKING: Made files.original_filename, files.user_id and meta.keywords nullable in order to work with SQLite for testing. This includes changing some older migrations. Unfortunately this causes problems on Laravel 5.4 as DBAL doesn't understand JSON columns. There is a workaround but it will be nice when this problem goes away.

v0.2.69

  • IMPROVED: Refactored CRUD body classes
  • FIXED: Flexible content actions were being hidden when only the delete button should have been hidden

v0.2.68

  • FIXED: Added missing use in CRUD controller

v0.2.67

  • FIXED: Bug in bulk action selection
  • IMPROVED: Boolean Cell logic and tempate

v0.2.65

  • FIXED: Drag and drop ordering wasn't working when order was set to DESC
  • FIXED: Added missing item ID parameter to CRUD reorder route

v0.2.63

  • FIXED: Fix CRUD index pages being wider than the page
  • IMPROVED: Use the default Enso User & Role controllers unless overridden.

v0.2.62

  • NEW: Added BooleanCell for checks and crosses on index pages
  • NEW: Added ability to add classes to CRUD index rows
  • NEW: Automatically add body classes to CRUD views
  • FIXED: Install command now clears config cache instead of re-caching

v0.2.59

  • NEW: Added a user profile page to the backend
  • NEW: Added basic 404 and 500 error pages. The 404 will inherit from layouts.app and so should be styled by default. The 500 is a basic, flat HTML file which includes public/css/app.css.
  • NEW: Added helper methods for easier CRUD config. You can now set name plural and singular at the same time!
  • IMPROVED: Make CRUD controllers return data in JSend format when the table GET parameter is present (i.e. not when used for populating select lists)
  • IMPROVED: You can now make an index column order the table by multiple columns (in sql terms: ORDER BY name ASC, data ASC)
  • IMPROVED: New installs now use the public storage disk by default, as does the Enso Media.
  • IMPROVED: Pagination now has page number buttons as well as previous/next.

v0.2.58

  • NEW: Add a "Static Text" field. This lets us put static text in CRUD fields.
  • NEW: Add a svg-sprite component that removes the need for SVG4everybody, works nicely with Vue (it IS vue!) and allows us to use multiple sprite sheets.
  • NEW: Created some style test views for quickly testing Bulma/Bootstrap styles.
  • NEW: Allow limiting the number of flexible content rows, either by the total number of rows or per row type.
  • NEW: Allow setting WYSIWYG theme, modules and formats settings from the CRUD config.
  • FIXED: Setting order to 'ASC' on index pages now works.
  • FIXED: Main backend menu is now full height on Firefox.
  • FIXED: Select field dropdowns were appearing behind maps and file uploads. This doesn't happen any more.
  • FIXED: Fixed the flexible content fields sometimes not being draggable on Firefox.
  • IMPROVED: Made the installation process a bit smoother.
    • Added a --force flag to php artisan enso:install so you can run it again without having to confirm everything (mostly useful when developing Enso).
    • Renamed EnsoUser to User in the crud config.
    • Removed references to gulpfile.js.
    • Re-cache the config during installation as it was trying to access something from the config straight after publishing the config file.
  • IMPROVED: Use lodash slash import syntax for theoretically smaller file size, though the files still seem bigger than they need to be.
  • IMPROVED: Refactor field props a little - there's now a getProps method.
  • IMPROVED: Excluded the moment.js locale files for reduced file size. This one was noticeable.
  • IMPROVED: Catch MassAssignmentException on CRUD controllers for easier debugging.
  • IMPROVED: Better messages on CRUD index pages - 'loading' and 'error' statuses are now correctly shown and there's a 'retry' button if there was an error.
  • IMPROVED: Scroll the index page to the top when clicking 'next' or 'previous'.
  • IMPROVED: Re-styled the flexible content field.

v0.2.57

  • NEW: Re-throw validation errors in crud controller. Log other exceptions.

v0.2.55

  • NEW: Added ability to throw errors from CRUD controllers and have them show on frontend.

v0.2.54

  • IMPROVED: Refactored Mailer

v0.2.53

  • Update select type operators

v0.2.52

  • NEW: Add relationship type to Mailer

v0.2.51

  • FIXED: Stopped WYSIWYG from putting cursor at the end of content when focused
  • Updates to QueryBuilder and audience picker

v0.2.50

  • Overhauled mail Operator and Operands

v0.2.49

  • IMPROVEMENT: Fixed some pain points in initial setup
  • IMPROVEMENT: Added better help texts, and better email styling options.
  • NEW: Short term solution for allowing end users to set their own social icons.

v0.2.48

  • IMPROVEMENT: Refactored new Vue components to use lodash imports in the format import get from 'lodash.get'
  • IMPROVEMENT: Registered some common (or likely to become common) new components in enso-admin.js

v0.2.47

  • IMPROVEMENT: Refactored how views are overriden in Enso. All override views now go in views/crud/[crud_view_dir]/[view_name].
  • NEW: Vue components - AjaxContainer (renderless) and AjaxTable.
  • NEW: Added Some simple FlexibleSections to Enso.
  • FIXED: Image Settings now display a preview image.
  • IMPROVEMENT: First Pass Mailer for building emails (not sending) is now complete.

v0.2.46

  • IMPROVEMENT: The Settings Service provider now does more by default, and publishes a Crud ready to override.

v0.2.45

  • FIXED: There was a bug where certain Vimeo URLs were being treated as if they were Youtube URLs

v0.2.44

  • FIXED: Prevent CRUD form pages from overflowing window width
  • FIXED: Set default menu max depth to 2

v0.2.43

  • IMPROVEMENT: Refactor CRUD index actions column

v0.2.42

  • NEW: Add Mailer

v0.2.41

  • NEW: Add route data binding
  • IMPROVEMENT: Refactor CRUD controller, config and forms.

v0.2.40

  • NEW: Add Amazon product field

v0.2.39

  • FIXED: Fix menu system to keep old menu items working

v0.2.38

  • IMPROVEMENT: Refactor menu to no longer use config file settings and instead to use service provider setup only.

v0.2.37

  • NEW: Add ImageMin to webpack
  • FIXED: update svg.js publishing path

v0.2.36

  • NEW: Add OrderableList and array/list builders

v0.2.35

  • FIXED: Re-do the change from v0.2.31 as it got accidentally reverted

v0.2.34

  • FIXED: Wrong variable name in bulk action view template

v0.2.33

  • NEW: Allow help text on index page bulk actions

v0.2.32

  • IMPROVEMENT: Some changes to filters and bulk actions that aren't adequately described in the commit message.

v0.2.31

  • FIXED: Fixed a bug with filters

v0.2.30

  • IMPROVEMENT: Minor CSS tweak

v0.2.29

  • IMPROVEMENT: Update Enso asset process

v0.2.28

  • IMPROVEMENT: Debounce filters

v0.2.27

  • NEW: Add basic index page filter framework

v0.2.26

  • NEW: Add basic index page bulk action framework

v0.2.25

  • FIXED: Maps weren't loading coordinates correctly

v0.2.24

  • IMPROVEMENT: Uploaded files will now retain their original name with a unique id appended.
  • NEW: Allow renaming media files. Will also rename all resized versions of images. Just call ->rename($new_name) on a file. Omit the filename to rename the file based on its original name.
  • FIXED: Limit the length of the name of an uploaded to 255 characters (including file extension).
  • FIXED: Select fields can be disabled by calling setDisabled()
  • IMPROVEMENT: Validation messages will now use field labels instead of main.name-style field names.
  • FIXED: Renamed misnamed WYSIWYG block template
  • FIXED: Handle gallery fields when the returned content is not an array
  • IMPROVEMENT: When WYSIWYG fields are empty the saved string will now be an actual empty string instead of <p><br /></p>. The JSON equivalent will be [].

v0.2.19

  • NEW: Added option to show coord fields below map input
  • IMPROVEMENT: Fixed a bug where the map would use the map's center point as the chosen location

v0.2.18

  • NEW: Add SVG version support and sprite support by default

v0.2.17

  • NEW: Added Gallery field

v0.2.16

  • NEW: Added video embed field type

v0.2.15

  • IMPROVEMENT: Better flexible ID generation so that images in flex fields work better

v0.2.14

  • NEW: Added a way to bypass the HTML purifier (i.e. on fields that aren't actually HTML)
  • IMPROVEMENT: Image upload previews are now the right size.

v0.2.12 & v0.2.13

  • IMPROVEMENT: Fixed a bug when using checkboxes in Settings whereby they couldn't be saved as unchecked twice in a row.

v0.2.10 & v0.2.11

  • IMPROVEMENT: Better usability for location fields

v0.2.8

  • IMPROVEMENT: Don't error out when page data doesn't exist

v0.2.7

  • NEW: Added a way to import files from local files not just from uploads

v0.1.80 / v0.2.0

  • NEW: Added Location field

v0.1.78

  • IMPROVEMENT: Better handling of rotated images

v0.1.77

  • NEW: Add a "duplicate row" button on flexible content field rows

v0.1.76

  • IMPROVEMENT: Update JsonDataSection for WYSIWYG support

v0.1.75

  • NEW: OrderableHasManyField has been added.

v0.1.74

  • NEW: IsPublishable trait and interface added. Pages implement this by default.
  • NEW: Pages now have a 'data' column for Page-specific data by default.

NOTE: Due to the lack of a DateTime field at the time of this update, we've had to go with a less pretty (but still functional) option of a datepicker, and text inputs for hours and minutes. In the future, this should be able to be removed with no additional changes beyond updating Enso, as they don't get their own fields in the database.

v0.1.73

  • NEW: Meta now has keywords

v0.1.72

  • NEW: $item is now available in rendered flexible field content.
  • IMPROVEMENT: There is now a default enso-field-flexible-content blade template. No more adding it by hand (although you may still want to change / override it).

v0.1.70

  • NEW: FileUploadFields can now be used in Flexibile Content Fields
  • IMPROVEMENT: Crud Fields ImageFileUpload and MediaFileUpload no longer reference a Hard Coded model.
  • FIX: MedialFile Contract actually works now.

v0.1.69

  • FIX: FlexibleContentFields with Fields that override expandForJson can now be nested properly.

v0.1.65

  • FIX: Minor Update to OrderableBelongsToManyField to allow form data modification.

v0.1.64

  • FIX: Added try-catch block around image exif adjustments. Now images without exif data wont break on upload.

v0.1.63

  • IMPROVEMENT: HasMeta trait adds functionality directly to the class it is applied to
  • NEW: Facebook and Twitter Overrides for Meta

v0.1.60

  • NEW: Can now use WYSIWYG Fields as settings.

v0.1.53

  • NEW: Allow using WYSIWYG fields in flexible content fields

v0.1.52

  • IMPROVEMENT: Make files.user_id nullable.

v0.1.51

  • IMPROVEMENT: Extracts media specific features to its own service provicer, and binds contracts. You can now add Site specific functionality to MediaFiles.
  • FIX: Allows the user_id on the files table to be null. Uploads can now be made withouth being logged in (We're looking at you, register pages with image uploads).

v0.1.49

  • Allow fates to be null without freaking out too much.

v0.1.48

  • FIX: CRUD order scopes now work properly.

v0.1.47

  • IMPROVEMENT: Allow disabling deletion on CRUD types.

v0.1.46 & v0.1.45

  • IMPROVEMENT: Reload data when CRUD index order is changed. Previously it just reversed the data that it had already got. This was nice and quick but didn't really work. Now we do it the long way round.

v0.1.44

  • NEW field methods:
    • setFieldRestrictions. Pass a callable to determine whether this field show in the CMS. Returning true will prevent the field from being on the page.
    • getFieldRestrictions. Get the current callable (or null)
    • isRestricted. Whether the field is restricted.
  • NEW section methods:
    • setSectionRestrictions. Pass a callable to determine whether this section show in the CMS. Returning true will prevent the section from being on the page.
    • getSectionRestrictions. Get the current callable (or null)
    • isRestricted. Whether the section is restricted.
  • IMPROVEMENT: Vendor Published Models and Cruds now extend Enso Classes.
  • IMPROVEMENT: User and Role Models are now IoC Bound.
  • FIX: CrudController index call no long sometimes makes an SQL query with an OFFSET but no LIMIT.

v0.1.43

  • IMPROVEMENT: FlexibleContentField fields updated to use any Rowspec Field specific alterations made with the AlterFormDataCallback and AlterRequestDataCallback modifiers.

v0.1.42

  • FIX: Date fields now display on Safari

v0.1.41

  • IMPROVEMENT: RelationshipRepeaterField Refactored. Now provides fields for specific relationship types i.e. HasManyRepeaterField.
  • IMPROVEMENT: setDeleteRemoved Can now set that a Relationship Repeater Field deletes (as opposed to detaches) is relatives on removal.
  • IMPROVEMENT: Adds children relationship to default pages (inverse of parentPage)
  • FIX: Adds order to Pages fillable array

v0.1.40

  • IMPROVEMENT: Wysiwyg fields are now available to use as settings.

v0.1.35

  • FIX: Seeder namespaces in install command were broken.
  • FIX: Prevent flexible fields being full screen height.
  • IMPROVEMENT: NULL and "NULL" are now both treated as empty in WYSIWYG json columns.
  • IMPROVEMENT: Create forms will redirect to the edit page after successfully saving. Edit forms will refresh.
  • IMPROVEMENT: There is now a 'no items' message on index pages when appropriate.
  • IMPROVEMENT: Flexible fields now don't freak out if the columns impty in the database.
  • IMPROVEMNT: Only show 'add row' buttons on flexible fields if there is an addable row spec.
  • IMPROVEMENT: Allow preventing flexible field rows from being deleted, either by row spec of for the entire field.

v0.1.34

  • IMPROVEMENT: Allow WYSIWYG fields to populate themselves when they have existing HTML data but no JSON.
  • IMPROVEMENT: No longer stipping out H1... tags when purifying.

v0.1.33

  • FIX: WYSIWYG field was sometimes not compiling properly.
  • FIX: CRUD image file previews were not showing.

v0.1.32

  • NEW field type: Add basic WYSIWYG editor using Quill. Currently very limited customisablity.

v0.1.31

  • NEW functionality: SVG Blade directive finally added to enso core.
  • IMPROVEMENT: Refactored Create and Edit CMS headers to allow extension and overriding.
  • FIX: Image Importing response is now no longer broken.

v0.1.30

  • Nothing... literally nothing. Lol.

v0.1.29

  • IMPROVEMENT: Image previews in the CMS will now show the file's original filename instead of the generated one.
  • FIX: CRUD Fields using the PurifiesHtml trait can now have null values.

v0.1.28

  • IMPROVEMENT: New able to properly use images as setting values.

v0.1.27

  • NEW functionality: Created ability to save images in an imports folder 'as if' uploaded.
  • NEW field methods: setDefaultValue for overriding field defaults per field (useful to allow '0' as a default value).
  • NEW field methods: setAlterFormDataCallback and getAlterFormDataCallback for modifying data before it is passed from the item to the form.
  • IMPROVEMENT: Minor modifications to use pre-defined constants instead of magic numbers for http status codes.
  • FIX: Now actually saves resized images again.

v0.1.26

  • NEW field type: RelationshipRepeaterField, for creating relations on-the-fly. Will likely be iterated on and abstracted at a later date.
  • NEW field methods: getComponent to get the name of the vue component a field will render as.
  • FIX: FlexibleContentField parent::getRequestData call.
  • FIX: Enso Page Model content attribute property updated to "[]" from [].

v0.1.25

  • Added CRUD search functionality.

v0.1.24

  • Added the List field type. Shows a static list of links.

v0.1.23

  • Add index order query scopes. So far only works with closures. E.g.

    ->setOrderColumnScopes([
        'my_column' => function ($query) {
            return $query->join('othertable', 'things.other_id', '=', 'othertable.id');
        },
    
  • Add CRUD column formatter callback. E.g.

    (new Text('happy_column'))
        ->setFormatter(function ($value) {
            return $value . ' :)';
        }),
    
  • Update to Bulma 0.5.

v0.1.22

  • Add the option of giving the Crud config a callback or two to override the functionality of applyRequestData or applyRequestDataAfterSave. Use setCallback or setCallbackAfterSave on a field to make this happen.
  • Allow select fields to be disabled by doing setSettings(['disabled' => true]). This also applies to other select-type fields, e.g. relationships.
  • The crud.update.rules event now recieves an id as a second parameter.
  • Enabled basic pagination on index pages. You can click next and previous and it will be applied as a hash in the URL. Going to that URL will also load the appropriate page.
  • Allow overriding index views on a per-crud-type basis. Create views in resources/views/crud/{crud-type-name}.

v0.1.21

  • Update Media to use the Laravel Storage system, allowing for use of cloud storage.

v0.1.20

  • Allowed FlexibleFields to contain FlexibleFields which can contain FlexibleFields which can contain...

v0.1.19

  • Updates the Flexible Field handler to include a reference to the original model instance
  • Updates the flexible field default template for image uploads.

v0.1.18

  • Added ability to alter Page CRUD configs based on page slug

v0.1.16 && v0.1.17

  • Adds field data santiation options for text/textarea fields.

v0.1.15

  • Fix Media not allowing to upload if folders don't exist.

v0.1.14

  • Fix ImageUpload allowing non-image files to be uploaded. Inclusing adding MIME type checks etc.
  • Remove default package routes. Pages, Users, Roles and Media routes now need to be manually applied at the app level.

v0.1.13

  • Fix crud pages being wider than the page

v0.1.12

  • Only set updated_at on BelongsToMany pivot tables when it's actually needed.

v0.1.11

  • Add user_ids to files

v0.1.9 - v0.1.10

  • Fix relationships on non-dev environments

v0.1.7 - v0.1.8

  • Fixes Vulnerabilities with ImageUploads
  • Removes default Enso routes from their packages. It is now the responsibility of the developer to add these to their routes file.

v0.1.7

  • Enable EnsoMedia facade

v0.1.6

  • Updates for file upload fields:
    • MIME detection
    • Moved upload logic into EnsoMedia rather than UploadsController.

v0.1

  • Added flexible content field
  • Break Relationships into separate fields (HasManyRelationship etc.)