mooxphp / moox Goto Github PK
View Code? Open in Web Editor NEWThe Moox Project - Packages for Filament and Laravel
Home Page: https://moox.org
License: MIT License
The Moox Project - Packages for Filament and Laravel
Home Page: https://moox.org
License: MIT License
Shields.io-Badges are not working anymore. Either correct them like
https://img.shields.io/github/actions/workflow/status/usetall/tallui/pest.yml?branch=main
or use Github-Badges like
https://github.com/usetall/tallui/actions/workflows/phpstan.yml/badge.svg
Automate, start first tags, release to Packagist
Readme:
Monorepo - no package
All - all packages
Multi - some packages
or specific packages like...
Builder
Blog
Pages
Weblate makes a lot of problems:
Searching for alternatives:
Using commercial packages like "Advanced Tables" should not be done by introducing a composer dependency. Instead, these packages should be loaded conditionally using class_exists or trait_exists. This is currently implemented in Moox Core, but comes with a couple of culprits:
Refactoring should be done by using one of following techniques:
Currently, some features of Advanced Tables are disabled (in AdminPanelProvider of Intranet-project) to prevent user-facing errors:
Add a shifty plan and test for shifting packages. Otherwise, test Rector:
"require-dev": {
"driftingly/rector-laravel": "^0.???",
"rector/rector": "^0.???",
Harvest:
Blade / Livewire-Components:
class=“ your_class“ => append attributes to default styles or theme styles
:class=”your_class” => overwrite all default styles and theme styles
See:
https://laracasts.com/discuss/channels/livewire/scoped-css-in-livewire-component
https://laravel.com/docs/9.x/blade#passing-data-to-components
https://laravel-livewire.com/docs/2.x/properties
Currently changed:
matrix:
os: [ubuntu-latest, windows-latest]
because of laravel/framework#46165 and me being too lazy to split the non-existing tests for Windows.
and this does not play well with windows
- name: Remove PHP-PSR Extension
run: |
sudo apt remove php8.2-psr
Removing PSR ext is also done in codacy, code climate, and phpstan.
Probably resolved with Laravel 11.
Waiting for laravel/vite-plugin#268
See https://towardsdatascience.com/how-to-improve-docker-performance-with-wsl2-3a54402ab0f2
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
Renovate failed to look up the following dependencies: Failed to look up packagist package moox/page
.
Files affected: composer.json
These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.
composer.json
laravel-lang/lang ^15.5
laravel/framework ^11.0
laravel/tinker ^2.8
moox/audit *
moox/builder *
moox/expiry *
moox/jobs *
moox/login-link *
moox/notifications *
moox/page *
moox/passkey *
moox/press *
moox/security *
moox/sync *
moox/trainings *
moox/user *
moox/user-device *
moox/user-session *
wikimedia/composer-merge-plugin ^2.1
fakerphp/faker ^1.23.1
laravel/pint ^1.0
laravel/sail ^1.26
mockery/mockery ^1.6.6
nunomaduro/collision ^8.0
larastan/larastan ^2.6
pestphp/pest ^2.0
pestphp/pest-plugin-laravel ^2.0
pestphp/pest-plugin-livewire ^2.0
phpstan/extension-installer ^1.1
phpstan/phpstan ^1.10
phpstan/phpstan-deprecation-rules ^1.0
phpstan/phpstan-phpunit ^1.0
phpunit/phpunit ^10.0
spatie/laravel-ignition ^2.3
spatie/laravel-ray ^1.33
packages/audit/composer.json
moox/core *
spatie/laravel-activitylog ^4.0
packages/builder/composer.json
moox/core *
packages/core/composer.json
php ^8.2.0
spatie/laravel-package-tools ^1.13.0
laravel/framework ^10.0|^11.0
filament/filament ^3.2
pharaonic/laravel-readable ^1.0.5
codeat3/blade-google-material-design-icons ^1.0
packages/expiry/composer.json
moox/core *
packages/jobs/composer.json
moox/core *
packages/login-link/composer.json
moox/core *
packages/notifications/composer.json
moox/core *
packages/page/composer.json
moox/core *
packages/passkey/composer.json
moox/core *
web-auth/webauthn-lib ^5.0
packages/press/composer.json
moox/core *
packages/security/composer.json
moox/core *
packages/sync/composer.json
moox/core *
packages/trainings/composer.json
moox/core *
packages/user-device/composer.json
geoip2/geoip2 ^3.0
jenssegers/agent ^2.6
moox/core *
packages/user-session/composer.json
moox/core *
packages/user/composer.json
moox/core *
bezhansalleh/filament-shield ^3.0
stechstudio/filament-impersonate ^3.5
jeffgreco13/filament-breezy ^2.2
awcodes/filament-gravatar ^2.0
public/composer.json
roots/wordpress ^6.4
vlucas/phpdotenv ^5.6
docker-compose.yml
mysql/mysql-server 8.0
.github/workflows/codacy-coverage.yml
actions/checkout v4
shivammathur/setup-php v2
codacy/codacy-coverage-reporter-action v1
.github/workflows/code-climate.yml
actions/checkout v4
shivammathur/setup-php v2
paambaati/codeclimate-action v8.0.0
.github/workflows/monorepo-split-packages.yml
actions/checkout v4
symplify/monorepo-split-github-action v2.3.0
.github/workflows/pest.yml
actions/checkout v4
shivammathur/setup-php v2
.github/workflows/phpstan.yml
actions/checkout v4
shivammathur/setup-php v2
.github/workflows/pint.yml
actions/checkout v4
aglipanci/laravel-pint-action 2.4
stefanzweifel/git-auto-commit-action v5
.github/workflows/update-changelog.yml
actions/checkout v4
stefanzweifel/changelog-updater-action v1
stefanzweifel/git-auto-commit-action v5
package.json
@alpinejs/focus ^3.10.5
@tailwindcss/forms ^0.5.2
@tailwindcss/typography ^0.5.0
alpinejs ^3.0.6
autoprefixer ^10.4.7
axios ^1.0.0
laravel-vite-plugin ^1.0.0
lodash ^4.17.19
postcss ^8.4.14
tailwindcss ^3.1.0
vite ^5.0.0
Renovate is tooo aggressive picking up the minor patch releases mostly from the composer lock file. Either stop him to read the lock-file (npm too) and test with only the Json-files or find rules to defer the PRs for minor fix versions.
Change the dev apps welcome view to match with TallUI. Create some sub-views to show our components.
Some placements on the dashboard are not as we want, occupying too much space. One possibility would be to remove the extra heading on widgets (but then it must be obvious, what information the widget contains).
Possible thing:
Yes, you can suppress the heading of a Filament widget table by customizing the widget's configuration. Filament allows you to define a custom view for your widget, where you can control the display of various components, including the heading.
Here’s a step-by-step guide on how to suppress the heading of a Filament widget table:
Create a custom view for your widget. This view will be used to render the table without the heading.
<div>
{{-- Remove or customize the heading as needed --}}
{{-- <h1>{{ $this->getHeading() }}</h1> --}}
{{ $this->table }}
</div>
In your widget class, override the view
method to specify the custom view you created.
<?php
namespace App\Filament\Widgets;
use Filament\Tables;
use Filament\Tables\Table;
use Moox\Expiry\Models\Expiry;
use Filament\Tables\Actions\ViewAction;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Actions\DeleteBulkAction;
use Moox\Core\Base\BaseWidget;
class MyExpiry extends BaseWidget
{
protected static ?string $view = 'filament.widgets.custom-table-widget';
public function getTable(): Table
{
if (method_exists($this, 'getAdvancedTable')) {
return $this->getAdvancedTable();
}
return Table::make()
->columns([
// Add your table columns here
])
->actions([
ViewAction::make(),
])
->bulkActions([
DeleteBulkAction::make(),
]);
}
// Other methods from your class can go here
}
resources/views/filament/widgets/custom-table-widget.blade.php
is created to define how the widget should be rendered. By commenting out or removing the heading line, you can suppress the heading of the table.MyExpiry
widget class, the $view
property is set to the custom view. This tells Filament to use the custom view for rendering the widget.If you want to conditionally suppress the heading based on certain conditions, you can add logic to your custom view or your widget class.
For example, in your custom view:
<div>
@if($this->shouldShowHeading())
<h1>{{ $this->getHeading() }}</h1>
@endif
{{ $this->table }}
</div>
And in your widget class:
public function shouldShowHeading(): bool
{
// Add your custom logic here
return false; // or true based on your conditions
}
This approach gives you full control over the rendering of your widget, allowing you to customize it as needed.
https://github.com/all-contributors please add @KimSpeer for code, security
We need a totally cute input field ....
As Github Codespaces seems not to support remote.origin.url, we need to make this optional in configure.php.
If remote.origin.url is Null we cannot prefill these values from Git:
Instead, we can probably use own values like "Usetall" ...
Package Builder Todo List:
/src/controller
- ->name('your-package-name')
->hasConfigFile()
->hasViews()
->hasViewComponent('spatie', Alert::class)
->hasViewComposer('*', MyViewComposer::class)
->sharesDataWithAllViews('downloads', 3)
->hasTranslations()
->hasAssets()
->publishesServiceProvider('MyProviderName')
->hasRoute('web')
->hasMigration('create_package_tables')
->hasCommand(YourCoolPackageCommand::class)
->hasInstallCommand(function(InstallCommand $command) {
$command
->publishConfigFile()
->publishMigrations()
->copyAndRegisterServiceProviderInApp()
->askToStarRepoOnGitHub();
});
These presets should be available:
Renovate wants us to update to Collision V8, but that will need to wait for Laravel 11.
Does not automatically pick up new contributors and throws some deprecation warnings.
Recheck settings and monitor, if the project is abandoned or not: https://github.com/akhilmhdh/contributors-readme-action
Hi,
When trying to install this package (composer require moox/jobs) I get the following error.
./composer.json has been updated
Running composer update moox/jobs
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- invaders-xx/filament-jsoneditor[3.0, ..., 3.1] require illuminate/contracts ^8.74|^9.0|^10.0 -> found illuminate/contracts[v8.74.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.4] but these were not loaded, likely because it conflicts with another require.
- moox/jobs[0.0.1, ..., 0.0.5, 1.0.0, ..., 1.0.3, 2.0.0, ..., 2.0.9] require invaders-xx/filament-jsoneditor ^3.0 -> satisfiable by invaders-xx/filament-jsoneditor[3.0, 3.1].
- Root composer.json requires moox/jobs * -> satisfiable by moox/jobs[0.0.1, ..., 0.0.5, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 2.0.0, ..., 2.0.9].
You can also try re-running composer require with an explicit version constraint, e.g. "composer require moox/jobs:*" to figure out if any version is installable, or "composer require moox/jobs:^2.1" if you know which you need.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
My composer.json (filament is version 3.2.63 at this moment)
"name": "laravel/laravel",
"type": "project",
"description": "The skeleton application for the Laravel framework.",
"keywords": ["laravel", "framework"],
"license": "MIT",
"require": {
"php": "^8.2",
"filament/filament": "^3.2",
"filament/tables": "^3.2",
"guzzlehttp/guzzle": "^7.8",
"husam-tariq/filament-database-schedule": "dtconnector-dev",
"jschaedl/iban-validation": "^2.4",
"laravel/framework": "^11.0",
"laravel/tinker": "^2.9",
"league/flysystem-sftp-v3": "^3.26",
"monolog/monolog": "^3.5",
"motze92/office365-mail": "^3.1",
"stancl/tenancy": "^3.8",
"thiagoprz/eloquent-composite-key": "^1.0"
},
Thanks & Kr,
Olivier
Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in C:\Users\alfdr\GitHub\tallui\config\tallui.php on line 15 - Problem: custom views cannot be empty. If empty it generates an empty button, what is not perfect at all. Maybe put "example" to env. That will fix the error and get the button working too...
Badges
As Weblate has an issue with sync, try Crowdin:
Custom feature is the ability to add own code to the dev app here in the Monorepo. Currently this means
that will make problems when testing, analyzing, using the App. Views, components and whatever ships with this package needs to be wired - route and blade include - and will fail when the package is missing.
Single Monorepo moox soll moox_server und moox_press ablösen.
moox_server hat eine dependency zu Spatie Backup Server, nicht FOSS.
Die Dependency muss leider entfernt und die benötigten tables per eigener Migration erzeugt werden, dazu ein paar Spieldaten. Das package könnte zusätzlich mit Moox Monorepo Custom geladen werden.
Moox Devops (früher Server) bekommt ein eigenes Panel unter /devops
Ein paar class exists werden wir wohl benötigen, da Backup-Klassen in UI verwendet werden.
moox_press erfordert ein WordPress, das in public liegt.
Es existiert eine zweite composer.json in public. Wird WordPress nicht installiert, funktioniert das Panel nicht.
Deshalb bekommt auch Moox Press ein eigenes Panel unter /press
Die Errors im Panel können wir mit Migrations abfangen (aufwändig, da keine existieren oder einen Error werfen, der zur Installation von WordPress einlädt. Es existieren bereits commands, um WordPress samt config zu installieren.
Das Default-Panel ist /admin
Unter /moox könnten wir eine Übersicht der drei Panels mit Erklärung und Link zu den Docs machen.
Wenn wir so ziemlich alle Plugins im Monorepo haben, können wir direkt darin mit entsprechenden Daten und Config die Plattformen der heco entwickeln und die Pakete einfach auf die heco Repos verteilen, indem wir:
in das Package-Repo pushen (bereits erledigt)
eine neue Version des Packages erstellen (sollte per action machbar sein)
Sofern notwendig installer oder updater dort ausführen, wohl erstmal manuell
heco Schulungen -> Moox Trainings
Komplett autark in Laravel entwickeln und per Job die Trainings von WordPress holen.
IFAT-Tickets
Zu individuell und mit Mailcoach, wobei wir den ähnlich handhaben könnten, wie Backup Server. Bleibt erstmal in Web.
WP-Plugins
Die WordPress Plugins moox-press und moox-devops werden mit versioniert.
Wiki
Zu individuell, muss in Intranet. Dort auch die WP-Plugins für heco sowie die Jobs für Expiry und Trainings
Es gäbe dann nur noch wenige Orte, wo Issues und PRs stattfinden:
Issues in Moox können dann auch Plattform-bezogen sein.
Differences between office and laptop?
See https://github.com/nunomaduro/larastan/blob/master/docs/custom-types.md
@all-contributors please add @mvdnbrk for code
composer test, format and analyse are mentioned in the docs but missing.
Go https://app.codacy.com/gh/usetall/tallui/files?branch=main and sort by Grade
Now it is much easier to find the bad coded stuff.
Tests how and when PHPStan will throw a erorr
@all-contributors please add @adrolli for code
WIP Installer is saved here
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.