Skip to content

Commit

Permalink
reactpy_django v3.6: view_to_iframe
Browse files Browse the repository at this point in the history
  • Loading branch information
Archmonger committed Jan 10, 2024
1 parent bcd9232 commit fc2e6d2
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 28 deletions.
2 changes: 1 addition & 1 deletion conreq/_core/home/static/conreq/iframe_events.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// TODO: Delete this file after view_to_component is fleshed out
// TODO: Delete this file after view_to_iframe is fleshed out

window.document.addEventListener(
"reload-page",
Expand Down
7 changes: 7 additions & 0 deletions conreq/_core/server_settings/apps.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.apps import AppConfig
from reactpy_django.utils import register_iframe

from conreq.utils.modules import load

Expand All @@ -8,4 +9,10 @@ class ServerSettingsConfig(AppConfig):
verbose_name = "Server"

def ready(self):
from . import views

load("components")
register_iframe(views.GeneralSettingsView)
register_iframe(views.StylingSettingsView)
register_iframe(views.WebserverSettingsView)
register_iframe(views.EmailSettingsView)
12 changes: 5 additions & 7 deletions conreq/_core/server_settings/components.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import django
from django.conf import settings
from reactpy import component, html
from reactpy_django.components import view_to_component
from reactpy_django.components import view_to_iframe
from reactpy_django.decorators import auth_required

from conreq import config
Expand All @@ -16,12 +16,10 @@

# TODO: Create generic notification agent API.

general_settings_vtc = view_to_component(views.GeneralSettingsView, compatibility=True)
styling_settings_vtc = view_to_component(views.StylingSettingsView, compatibility=True)
webserver_settings_vtc = view_to_component(
views.WebserverSettingsView, compatibility=True
)
email_settings_vtc = view_to_component(views.EmailSettingsView, compatibility=True)
general_settings_vtc = view_to_iframe(views.GeneralSettingsView)
styling_settings_vtc = view_to_iframe(views.StylingSettingsView)
webserver_settings_vtc = view_to_iframe(views.WebserverSettingsView)
email_settings_vtc = view_to_iframe(views.EmailSettingsView)


@component
Expand Down
8 changes: 8 additions & 0 deletions conreq/_core/user_management/apps.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.apps import AppConfig
from reactpy_django.utils import register_iframe

from conreq.utils.modules import load

Expand All @@ -8,4 +9,11 @@ class ManageUsersConfig(AppConfig):
verbose_name = "User Management"

def ready(self):
from . import views

load("components")
register_iframe(views.EditUserView)
register_iframe(views.DeleteUserView)
register_iframe(views.manage_users)
register_iframe(views.manage_invites)
register_iframe(views.CreateInvite)
12 changes: 6 additions & 6 deletions conreq/_core/user_management/components.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.urls import reverse
from reactpy import component, hooks, html
from reactpy_django.components import view_to_component
from reactpy_django.components import view_to_iframe
from reactpy_django.decorators import auth_required
from reactpy_django.hooks import use_mutation, use_scope

Expand All @@ -12,11 +12,11 @@
# TODO: Create SimpleTable and SimpleForm that use Conreq templates
# TODO: Figure out some way to integrate user invites into this

edit_user_vtc = view_to_component(views.EditUserView, compatibility=True)
delete_user_vtc = view_to_component(views.DeleteUserView, compatibility=True)
manage_users_vtc = view_to_component(views.manage_users, compatibility=True)
manage_invites_vtc = view_to_component(views.manage_invites, compatibility=True)
create_invite_vtc = view_to_component(views.CreateInvite, compatibility=True)
edit_user_vtc = view_to_iframe(views.EditUserView)
delete_user_vtc = view_to_iframe(views.DeleteUserView)
manage_users_vtc = view_to_iframe(views.manage_users)
manage_invites_vtc = view_to_iframe(views.manage_invites)
create_invite_vtc = view_to_iframe(views.CreateInvite)


@component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ <h3>Invite Code Successfully Created!</h3>

<div class="mt-4"></div>
{% component 'conreq._core.user_management.components.send_email_invite_btn' class='inline-block' invite_code=invite_code %}
<a href="{% url 'reactpy:view_to_component' 'conreq._core.user_management.views.CreateInvite' %}">
<a href="{% url 'reactpy:view_to_iframe' 'conreq._core.user_management.views.CreateInvite' %}">
<button type="button" class="btn btn-light">
<i class="fas fa-plus"></i>
Create More
Expand Down
8 changes: 8 additions & 0 deletions conreq/_core/user_settings/apps.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.apps import AppConfig
from reactpy_django.utils import register_iframe

from conreq.utils.modules import load

Expand All @@ -8,4 +9,11 @@ class ServerSettingsConfig(AppConfig):
verbose_name = "User Settings"

def ready(self):
from . import views

load("components")
register_iframe(views.UserSettingsView)
register_iframe(views.ChangePasswordView)
register_iframe(views.DeleteMyAccountView)
register_iframe(views.DeleteMyAccountConfirmView)
register_iframe(views.delete_my_account_success)
18 changes: 6 additions & 12 deletions conreq/_core/user_settings/components.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
from channels.auth import logout
from reactpy import component, html
from reactpy_django.components import view_to_component
from reactpy_django.components import view_to_iframe
from reactpy_django.decorators import auth_required

from conreq import config
from conreq._core.components import tabbed_viewport
from conreq._core.user_settings import views
from conreq.types import SidebarTabEvent, Viewport

user_settings_vtc = view_to_component(views.UserSettingsView, compatibility=True)
change_password_vtc = view_to_component(views.ChangePasswordView, compatibility=True)
delete_my_account_vtc = view_to_component(views.DeleteMyAccountView, compatibility=True)
delete_my_account_confirm_vtc = view_to_component(
views.DeleteMyAccountConfirmView,
compatibility=True,
)
delete_my_account_success_vtc = view_to_component(
views.delete_my_account_success,
compatibility=True,
)
user_settings_vtc = view_to_iframe(views.UserSettingsView)
change_password_vtc = view_to_iframe(views.ChangePasswordView)
delete_my_account_vtc = view_to_iframe(views.DeleteMyAccountView)
delete_my_account_confirm_vtc = view_to_iframe(views.DeleteMyAccountConfirmView)
delete_my_account_success_vtc = view_to_iframe(views.delete_my_account_success)


@component
Expand Down
2 changes: 1 addition & 1 deletion requirements/main.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ djangorestframework==3.14.0
djangorestframework-api-key==2.3.0
docutils==0.19
drf-spectacular[sidecar]==0.26.2
reactpy_django==3.4.0
reactpy_django==3.6.0
huey==2.4.5
markdown==3.4.1
pillow==9.5.0
Expand Down

0 comments on commit fc2e6d2

Please sign in to comment.