问题标签 [seaside]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
190 浏览

smalltalk - 即时更新 Reef 部件

我开始深入研究 Reef,但我偶然发现了一些我真的不知道如何解决的问题......

我有一个 RETextField 和一个 REButton,我希望在按下按钮时更新文本字段的内容,所以这就是我正在尝试的:

这不起作用,因为我应该告诉文本字段进行更新,所以我尝试了:

但它也没有工作......也self canvas jQuery ajax script: etc.没有运气。

我猜 Reef 有它自己优雅的方式来做这件事,但我在任何地方都找不到它……有人吗?:)

0 投票
1 回答
586 浏览

ajax - 帮助 ajaxifying Seaside-App(需要模板或最小示例)

我在 ajaxifying 我们的新 Seaside-App 时遇到了麻烦。该应用程序的目标是在级联视图中显示合约数据(在概念上类似于树,但在视觉上只是组件内部的组件):在顶层合约名称,单击它们会显示所谓的“集合”这些合同包含,单击它们会显示它们包含的所谓“部分”等等。 显示我们的 gui 的图像

在我们制作的草稿版本中,我们只是将所有信息加载到客户端,然后使用:

成功地融入和融入各个层次的子组件。

将所有信息加载到客户端仅适用于草稿版本;对于下一个版本,我们只想动态加载用户想要扩展的那些分支。我们知道如何根据 Seaside-Book 执行此操作,并且执行以下操作可以让客户端正确更新:

但是:我们无法保持客户端状态和服务器状态正确:即使用户使用 html-表单输入(见图)来改变树的内容。如果连接暂时不可用,我们还希望保持状态(否则用户的整个状态和字段编辑将丢失并显示 404,后退按钮将导致会话不一致,最坏的情况)。情况更加复杂,因为我们希望允许多个用户的这种行为;当然,每个用户都有不同的树状态(树中的每个节点未加载/展开/折叠)但数据字段中的条目一致的语义。

你有一个模板或最小的例子,可以用它来更新服务器会话吗?

0 投票
3 回答
306 浏览

smalltalk - 访问 javascript 函数参数

JQAjaxSetup>>onError 的文档: 说:

onError: anObject "请求失败时调用的函数。该函数传递了三个参数:XMLHttpRequest 对象、描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数的可能值(除了 null)是 'timeout'、'error'、'notmodified' 和 'parsererror'。”

我想使用类似的东西显示错误消息

anAjax onError: ((html jQuery id: someId) before: (MyInstanceOfWAPainter error: 'An error message'));

我怎么做?可能在客户端完成所有操作。

0 投票
4 回答
358 浏览

smalltalk - 什么对象可以容纳大量文本?

我正在计划一个 Seaside 应用程序来保存文本,单个实例可能高达 5Mb。什么样的物体最适合这个?

我还想对这个文本做一些迭代。

谢谢,文斯

编辑:感谢您迄今为止的回复。该文件是一个 CSV 文件,需要大约 40 分钟才能从旧财务系统生成,因此必须预先生成和存储。每一行都是一个客户记录,我需要将每一行都取出并在客户登录时使用这些值。客户访问是不可预测的,与遗留系统交互以动态生成每一行是最后的手段。

0 投票
2 回答
1221 浏览

seaside - 如何使用 Seaside 在服务器上将 html5 canvas.toDataURL 保存为 png 文件

我有一个用户可以在浏览器上注释的图像。我可以使用访问图像

...我想为用户添加一个“保存”选项以将图像保存在服务器上。

这个问题已经回答了php ...

...我需要的是带有 PNG 文件内容的 Seaside 回调。

有没有办法在海边做到这一点?

Johan 指出地雷类型声明必须从值字符串中删除。这适用于大众...(使用字符串破解删除'data:image / png;base64,')

0 投票
3 回答
673 浏览

components - 如何简单地重定向到另一个顶级 Seaside 组件?

新手问题。谷歌根本没有帮助。此外,我遇到的问题很难正确解释。

我的应用程序中有两个组件:JournalView 和 JournalEntryView。JournalView 显示日记条目列表,其中包含指向各个条目的链接。单击时,这些链接中的每一个都应创建一个新的 JournalEntryView 并重定向到这个新创建的 JournalEntryView。

目前,我这样做:

问题是,此代码期望新创建的组件稍后以一个值回答。查看光环,我可以看到以下组件层次结构:

我不想要这个。我希望我的 JournalEntryView 是一个顶级视图,我只想让我的锚重定向到一个新的顶级 JournalEntryView。

这在海边可以吗?

0 投票
6 回答
3514 浏览

version-control - Smalltalk / Seaside 的版本控制?

我主要是一名 Java EE 开发人员。我被要求探索在即将到来的网络项目中使用 Smalltalk / Seaside 的可能性。可以想象,这导致了许多有趣的问题。

开发人员团队如何使用 Smalltalk / Seaside 实现软件版本控制和修订控制。你可以使用 Subversion 或 Git 吗?

据我了解,Smalltalk 使用图像而不是将每个类保存到自己的文件中。这对管理源代码修订的能力有何影响,尤其是在整个团队中?

非常感谢您提供的任何见解!

0 投票
2 回答
776 浏览

smalltalk - 延续是 Seaside 的关键功能吗?

我正在努力加快 Smalltalk / Seaside 的速度。根据Wikipedia的说法,“Seaside 是一个基于延续的 Web 应用程序框架”。来自 Java 背景,我对延续不是很熟悉。

经过一些阅读,我了解延续用于维护状态,从而保存进程的快照并可以在以后恢复(类似于将 Windows 置于休眠模式)。

在使用“后退”按钮方面,这与 Seaside 最相关?使用代码块和“回调”与使用延续不一样?

我也在尝试衡量在 Seaside 中实际使用延续的当前重要性。我很困惑,因为许多对 Seaside 的在线引用都提到延续是一个关键和定义特征。但是,我还发现许多文章提到在 Seaside 中使用延续并不常用,实际上也不是关键特性。

非常感谢任何有用的意见,让我明白这一点!

0 投票
3 回答
1925 浏览

persistence - Smalltalk / Seaside 中的数据持久性

我最近花了一些时间熟悉 Smalltalk 和 Seaside。我来自 Java EE 世界,正如您想象的那样,让我思考一些 Smalltalk 概念是一项挑战。:)

目前,我正试图掌握在 Smalltalk 世界中最典型的数据持久性是如何实现的。作为一名 Java 程序员,我的假设是使用 RDMS(即 MySQL)和 ORM(即 Hibernate)。我知道 Smalltalk 不是这种情况(至少使用 Hibernate)。我不一定要寻找最接近 Java EE 完成方式的方法。

将数据保存到图像、对象存储还是 RDMS 中最常见?Smalltalk 应用程序使用 RDMS 是不是很典型?

我知道这里没有一刀切的方法,正确的持久性策略将取决于应用程序的需求(数据量、并发性等)。什么是可以开始简单但也可以扩展的好方法?

我看过 Avi Bryant 的视频,他讨论了他用于持久性和扩展 DabbleDB 的策略。据我了解,客户的数据直接保存到图像中(每个客户一张图像)。这在他的用例中很有效,因为客户不必共享数据。这是一种常见的方法吗?

希望我没有制作这个 TLDR。非常感谢 Smalltalk 人员在我之前的问题中提供的见解。值得赞赏。

0 投票
1 回答
259 浏览

smalltalk - 无法重构/删除方法

这应该是一个简单的问题。:)

我正在使用 Pharo / Seaside。我已经使用 IDE 中的重构功能来重命名和删除我的一些方法和类。到现在为止还挺好。

但是,我很难删除覆盖父类的方法。例如,我有一个类“MyClass”,它是“WAComponent”的子类。我创建了一个方法“样式”,它覆盖了父类中的一个方法。

我决定我真的不需要重写“样式”并且想要重构方法>删除“样式”。此时我收到以下提示“可能调用 WAPresenter 中的样式。浏览引用?”

我该如何进行?我只想要超级的“风格”方法,而不是我自己的覆盖。

非常感谢!